- www.massicotte.org Non-Sendable types are cool too you know
Sendable gets talked about a lot. And while it is a critical aspect of Swift concurrency, I think non-Sendable types are very interesting and just as important. They are often seen as a problem when facing concurrency issues. But, non-Sendable types can actually sometimes be a perfect solution.
Wrote this up in kind of hurry, but people seem to like it. Thought I’d throw it up over here.
-
Async await in Swift: The Full Toolkit
www.emergetools.com Emerge Tools Blog | Async await in Swift: The Full ToolkitUnderstand the range of tools in Swift Concurrency
“Today, we're going through the many techniques in the Swift Concurrency toolkit. We'll discuss theory when it's appropriate, but for each tool we'll also provide a context where it might be the best solution.”
-
Vulnerabilities in CocoaPods Open the Door to Supply Chain Attacks Against Thousands of iOS and macOS Applications
www.evasec.io Vulnerabilities in CocoaPods Open the Door to Supply Chain Attacks Against Thousands of iOS and MacOS Applications | E.V.AMultiple vulnerabilities affecting the CocoaPods ecosystem, have been discovered, posing a major risk of supply chain attacks.
“E.V.A Information Security researchers uncovered several vulnerabilities in the CocoaPods dependency manager that allows any malicious actor to claim ownership over thousands of unclaimed pods and insert malicious code into many of the most popular iOS and MacOS applications. These vulnerabilities have since been patched.”
- danielchasehooper.com Apple didn't fix Swift's biggest flaw
How a 10 year old design choice for Swift’s type checker still haunts us to this day
“The Swift compiler is notoriously slow due to how types are inferred. Every June I hope that Apple will announce that they fixed it; sadly this is not that year.”
- www.hackingwithswift.com What's new in Swift 6.0?
When fully enabled, Swift 6 is likely to require changes in pretty much every project.
-
Hey all! I've been writing up a series on the changes coming to Swift 6 related to concurrency. Thought I'd start sharing them here too.
- www.swift.org Get Started with Embedded Swift on ARM and RISC-V Microcontrollers
We’re pleased to introduce a repository of example projects that demonstrate how Embedded Swift can be used to develop software on a range of microcontrollers.
- www.swift.org SSWG 2024 Annual Update
In this annual post, the Swift Server WorkGroup (SSWG) reflects on the community, ecosystem-wide accomplishments and the workgroup’s focus areas for the year ahead.
- www.swift.org Writing GNOME Apps with Swift
Swift is well-suited for creating user interfaces thanks to the clean syntax, static typing, and special features making code easier to write. Result builders, combined with Swift’s closure expression syntax, can significantly enhance code readability.
- damian.fyi Swift strings look identical but aren’t
I recently found myself trying to debug a most perplexing problem. Two identical strings were different. How could this be?
-
-
“Now that iOS 17 is available, let’s analyze its built-in apps to answer a few questions: How many binaries are in iOS 17? Which programming languages are used to develop these apps? How many apps are written with Swift? What is the percentage of apps using SwiftUI versus UIKit?”
- www.avanderlee.com Value and Type parameter packs in Swift explained with examples
Value and type parameter packs allow you to write generic functions that accept an arbitrary number of arguments with distinct types
cross-posted from: https://programming.dev/post/3558087
> Type parameter packs and value parameter packs allow you to write a generic function that accepts an arbitrary number of arguments with distinct types. As a result of SE-393, SE-398, and SE-399, you can use this new feature from Swift 5.9.
-
A new approach to testing in Swift
forums.swift.org A New Approach to Testing in SwiftHi everyone, I’m excited to announce a new open source project exploring improvements to the testing experience for Swift. My colleagues @briancroom, @grynspan, @chefski, @Dennis and I have been working on this in recent months and have some early progress we're excited to share. Inspired by what’...
- useyourloaf.com SwiftUI Sensory Feedback
In iOS 17, Apple added a range of sensory feedback view modifiers to SwiftUI.
In iOS 17, Apple added a range of sensory feedback view modifiers to SwiftUI removing the need to rely on UIKit.
- www.avanderlee.com Predicate Macro in Swift for filtering and searching
The #Predicate Macro allows you to filter or search a collection of data using type-safe and readable higher-level Swift code.
#Predicate is a new Macro available since Swift 5.9 and Xcode 15, allowing you to filter or search a data collection. It can be seen as a replacement for the old-fashioned NSPredicate we’re used to from the Objective-C days.
-
Swift Charts Examples
github.com GitHub - jordibruin/Swift-Charts-Examples: An overview of the different types of charts you can make with Swift ChartsAn overview of the different types of charts you can make with Swift Charts - GitHub - jordibruin/Swift-Charts-Examples: An overview of the different types of charts you can make with Swift Charts
An overview of the different types of charts you can make with Swift Charts
-
Objective-C Internals articles series
alwaysprocessing.blog Objective-C InternalsGet ready to dive deep into the inner workings of the Objective-C language and runtime! Each post delves into a specific aspect of the language and explores the details of its implementation. I hope you’ll find this valuable to demystify the language, tackle tricky bugs, and optimize your code for p...
-
Open Source Swift Projects to Contribute into and Learn From?
Hi,
I thought we could make a list of open source Swift projects that's open to public contribution. Which is one of the most effective ways to really learn programming.
We could follow this template to make it easy for readers:
Title in Bold
Short Description:
Link:
- laurentbrusa.hashnode.dev Using virtualisation to install MacOS Sonoma on an M1/M2 Mac
Using virtualisation to install MacOS Sonoma on an M1/M2 Mac
-
Introducing Swift HTTP Types
We’re excited to announce a new open source package called Swift HTTP Types.
Building upon insights from Swift on server, app developers, and the broader Swift community, Swift HTTP Types is designed to provide a shared set of currency types for client/server HTTP operations in Swift....
-
Adding or Replacing Element in Array
So I've got the following code, which seems to work, and I'm wondering if there is a better, cleaner way to approach adding/editing elements in an array.
```swift var category: Category var idx: Int = -1
switch mode { case .add: category = Category() case .edit(let _category): category = _category idx = categoryViewModel.categories.firstIndex(of: _category) ?? idx }
category.name = categoryName category.icon = "category-\(categoryIdx)" category.color = colors[colorIdx]
switch mode { case .add: categoryViewModel.categories.append(category) case .edit: categoryViewModel.categories[idx] = category } ```
I understand I'm not checking
idx
to make sure it's not-1
. I'm not concerned about that part right now. It's the overall approach I'm looking for thoughts on.Thanks!
- swiftwithmajid.com Mastering Swift Foundation Formatter API. Custom Format Styles
Swift Foundation Formatter API is one of my favorite recent additions to the Swift ecosystem. I use it in every project and build my custom-type formatting logic using the same approach. This week we will learn how to introduce custom formatters and use them with our own types.
-
WWDC 2023: What's New in Core Data
Although at WWDC 2023, Apple will mainly focus on introducing the new data framework SwiftData, Core Data, as the cornerstone of SwiftData, has also been enhanced to some extent.
- www.avanderlee.com MainActor usage in Swift explained to dispatch to the main thread
MainActor in Swift replaces DispatchQueue.main and ensures tasks are performing on the main thread in a performant manner.
MainActor is a new attribute introduced in Swift 5.5 as a global actor providing an executor which performs its tasks on the main thread. When building apps, it’s essential to perform UI updating tasks on the main thread, which can sometimes be challenging when using several background threads. Using the
@MainActor
attribute will help ensure your UI is always updated on the main thread. -
iOS Dev Weekly - Issue 616
iosdevweekly.com Issue 616Let's talk about nutrition, shall we? Wait, what do you mean "Not that type of macros!" 🫘
- necir.org How to test the Apple Vision Pro simulator on your Mac
The Apple Vision Pro was the star of the “One More Thing” most recent in history. That expression, so common for Steve Jobs to surprise us all with new productsThe event served to announce a device that is already getting people talking before it is even available on the market. But in the meantime,...
- www.hackster.io SwiftIO Playground Brings Swift to the Microcontroller World
With a wide variety of modules ready to go.
- www.swiftjectivec.com iOS 17: Notable UIKit Additions
iOS 17 is out in the wild! As always, let’s check in with our mature interface framework, UIKit.
- sarunw.com Access Images and Colors with Enum in Xcode 15 | Sarunw
Xcode 15 can automatically create Swift symbols for your resources without any third party. Let's learn how to do it.
-
A curated list of awesome Swift Macros
github.com GitHub - krzysztofzablocki/Swift-Macros: A curated list of awesome Swift MacrosA curated list of awesome Swift Macros. Contribute to krzysztofzablocki/Swift-Macros development by creating an account on GitHub.
-
Swift as a Static Site Generator
github.com GitHub - JohnSundell/Publish: A static site generator for Swift developersA static site generator for Swift developers. Contribute to JohnSundell/Publish development by creating an account on GitHub.
I have used a few SSG framework such as Next and Hugo, and my personal blog is built by Hugo which is based on GO programming language.
IME i've noticed the majority of SSG are based on Javascript and Typescript for some reason.
Never thought of Swift as an SSG, but it sounds interesting for me to play with and built a blog or something, and maybe even migrate my current blog to a swift-based SSG if they are as good as, say, Hugo.
Do you guys have any experience with Swift-SSG?
Edit: typos
-
Little big improvements in Xcode 15
sarunw.com Little big improvements in Xcode 15 | SarunwSmall improvements that make a big difference in day-to-day coding.