WWDC26 Swift Group Lab Q&A is probably the most valuable Swift Concurrency content from this year’s WWDC.
Lots of subtle details:
• Does Task {} actually leave MainActor?
• What does nonisolated mean in Swift 6.2 now?
• When should you use @concurrent?
• Is async code really running where you think it is?
… turns out the answer is increasingly: “not where you think.”
https://antongubarenko.substack.com/p/wwdc26-swift-group-lab-q-and-a
#Swift #concurrency
Lots of subtle details:
• Does Task {} actually leave MainActor?
• What does nonisolated mean in Swift 6.2 now?
• When should you use @concurrent?
• Is async code really running where you think it is?
… turns out the answer is increasingly: “not where you think.”
https://antongubarenko.substack.com/p/wwdc26-swift-group-lab-q-and-a
#Swift #concurrency
Substack
WWDC26: Swift Group Lab - Q&A
Direct answers from Apple Developers Team
👍3
If you rushed to install the new Xcode after WWDC, started migrating code to ContentBuilder, and explored the new @State macro…
don’t forget to read TN3211.
It’s Apple’s guide to understanding why some perfectly valid SwiftUI code from last week suddenly isn’t so valid anymore.
https://developer.apple.com/documentation/technotes/tn3211-resolving-swiftui-source-incompatibilities-for-state-and-contentbuilder
#SwiftUI
don’t forget to read TN3211.
It’s Apple’s guide to understanding why some perfectly valid SwiftUI code from last week suddenly isn’t so valid anymore.
https://developer.apple.com/documentation/technotes/tn3211-resolving-swiftui-source-incompatibilities-for-state-and-contentbuilder
#SwiftUI
Apple Developer Documentation
TN3211: Resolving SwiftUI source incompatibilities for State and ContentBuilder | Apple Developer Documentation
Update existing code for two foundational changes in SwiftUI built with Xcode 27.
👍9
Apple finally got around to adding this in iOS 27, and somehow I’m still genuinely excited about it. 😄
textSelection() now supports granular text selection. In iOS 26, applying it to a Text view only let you select the entire block. Now you can simply drag to select the exact part you want, just like in any native text view.
It took them until iOS 27… but I’ll happily take it.
https://x.com/natpanferova/status/2070781569044996429?s=46&t=YNy4qFziI3PFPTlrSCXpmA
#SwiftUI
textSelection() now supports granular text selection. In iOS 26, applying it to a Text view only let you select the entire block. Now you can simply drag to select the exact part you want, just like in any native text view.
It took them until iOS 27… but I’ll happily take it.
https://x.com/natpanferova/status/2070781569044996429?s=46&t=YNy4qFziI3PFPTlrSCXpmA
#SwiftUI
🔥11😁1
If you’re using Tuist, it’s worth trying their new package resolution process - Swifterpm
Why did they build it?
• Better support for Git worktrees
• Faster parallel installs for AI coding agents
• A shared package store to avoid duplicate checkouts
• Faster dependency resolution and package materialization
The benchmark results look very promising.
The Tuist team is actively looking for feedback, so if it works well in your project, let them know!
#build #optimization #tuist
Why did they build it?
• Better support for Git worktrees
• Faster parallel installs for AI coding agents
• A shared package store to avoid duplicate checkouts
• Faster dependency resolution and package materialization
The benchmark results look very promising.
The Tuist team is actively looking for feedback, so if it works well in your project, let them know!
#build #optimization #tuist
FYI Apple deprecated
Instead of checking whether an app is installed, the new recommendation is to simply call
There’s another change: apps linked against the iOS 27 SDK can now declare only 25 entries in LSApplicationQueriesSchemes (down from 50).
https://developer.apple.com/documentation/uikit/uiapplication/canopenurl(_:)
#iOS #privacy
canOpenURL(_:) in iOS 27.Instead of checking whether an app is installed, the new recommendation is to simply call
open(_:completionHandler:) and handle failures.There’s another change: apps linked against the iOS 27 SDK can now declare only 25 entries in LSApplicationQueriesSchemes (down from 50).
https://developer.apple.com/documentation/uikit/uiapplication/canopenurl(_:)
#iOS #privacy
Apple Developer Documentation
canOpenURL(_:) | Apple Developer Documentation
Returns a Boolean value that indicates whether an app is available to handle a URL scheme.
😢7🔥3
If you’re migrating to Swift 6, this is a great short refresher on one of the most confusing concurrency changes.
It explains, with simple examples:
• how
• when execution stays on the caller’s executor
• and when
These are easy details to forget, but they often come up in code reviews and technical interviews.
😉
https://nsvasilev.com/posts/approachable_concurrency/
#swift #concurrency
It explains, with simple examples:
• how
nonisolated behaves with Approachable Concurrency• when execution stays on the caller’s executor
• and when
@concurrent is actually needed.These are easy details to forget, but they often come up in code reviews and technical interviews.
😉
https://nsvasilev.com/posts/approachable_concurrency/
#swift #concurrency
Nsvasilev
Demystifying Thread Hopping with Swift 6.2 Approachable Concurrency | nsvasilev.com
A deep dive into Swift 6.2 Approachable Concurrency, exploring how thread hopping works under the hood and what changes for developers.
👍5
Apple introduced
My Swift buddy Artem ran an interesting experiment using
https://artemnovichkov.com/blog/using-swiftui-contentbuilder-with-non-view-types
#Swift #SwiftUI
@ContentBuilder this year, and we’re already seeing developers push it beyond its original use case.My Swift buddy Artem ran an interesting experiment using
@ContentBuilder with non-View types. It’s a nice example of how the new builder can be used to create clean DSL-like APIs.https://artemnovichkov.com/blog/using-swiftui-contentbuilder-with-non-view-types
#Swift #SwiftUI
Artem Novichkov
Using SwiftUI’s ContentBuilder with Non-View Types
Using SwiftUI’s result builder to assemble a type-safe deep-link router.
❤🔥5
Oh,
This article is a great example of how it can elegantly solve a layout problem without resorting to
If you’ve never really used alignmentGuide, this is definitely worth a read!
https://nilcoalescing.com/blog/AlignmentGuidesInSwiftUI
#SwiftUI
alignmentGuide is one of my favorite SwiftUI APIs!This article is a great example of how it can elegantly solve a layout problem without resorting to
GeometryReader, offsets, or other workarounds.If you’ve never really used alignmentGuide, this is definitely worth a read!
https://nilcoalescing.com/blog/AlignmentGuidesInSwiftUI
#SwiftUI
Nil Coalescing
Alignment guides in SwiftUI
Learn how alignment guides position views in SwiftUI, how to override a built-in guide, and how to define a custom alignment for views in nested containers.
🔥6
Readaggregator - iOS, Swift, Apple, Programming, Mobile
Apple introduced @ContentBuilder this year, and we’re already seeing developers push it beyond its original use case. My Swift buddy Artem ran an interesting experiment using @ContentBuilder with non-View types. It’s a nice example of how the new builder…
We’ve already seen some interesting experiments with the new
Fatbobman takes a closer look at how
https://fatbobman.com/en/posts/contentbuilder-explained/
#Swift #SwiftUI
@ContentBuilder, but if you’re curious about what actually changed under the hood, this is a great follow-up.Fatbobman takes a closer look at how
@ContentBuilder works, what changed compared to the old @ViewBuilder, and why building with non-View types is now possible in the first place.https://fatbobman.com/en/posts/contentbuilder-explained/
#Swift #SwiftUI
🔥3
Xcode 27 RC is out and App Store submissions are already open.
If your app still uses the old UIApplicationDelegate-based lifecycle without UIScene, now is the time to migrate. Apps built with the iOS 27 SDK won’t launch without the scene-based lifecycle.
FYI, UIScreen.main is deprecated too
https://developer.apple.com/documentation/Technotes/tn3187-Migrating-to-the-UIKit-scene-based-life-cycle
If your app still uses the old UIApplicationDelegate-based lifecycle without UIScene, now is the time to migrate. Apps built with the iOS 27 SDK won’t launch without the scene-based lifecycle.
FYI, UIScreen.main is deprecated too
https://developer.apple.com/documentation/Technotes/tn3187-Migrating-to-the-UIKit-scene-based-life-cycle
Apple Developer Documentation
TN3187: Migrating to the UIKit scene-based life cycle | Apple Developer Documentation
Update your app to receive scene-based life-cycle events and manage your user interface using scene objects and methods.
👍6
Just append .md to any Apple Developer Documentation URL to get the page as Markdown.
Looks like sosumi.ai can finally retire.
https://x.com/luka_bernardi/status/2098800800562819339?s=46&t=YNy4qFziI3PFPTlrSCXpmA
#llm #doc
Looks like sosumi.ai can finally retire.
https://x.com/luka_bernardi/status/2098800800562819339?s=46&t=YNy4qFziI3PFPTlrSCXpmA
#llm #doc
🔥4