Snapp Mobile iOS Newsletter
@snappiosnewsletter.bsky.social
140 followers 1.6K following 230 posts
Weekly Swift & iOS dev insights from @snappmobile.bsky.social 📬 https://ios-newsletter.snappmobile.io/subscribe.html
Posts Media Videos Starter Packs
Pinned
snappiosnewsletter.bsky.social
We read too many iOS blogs

Every Friday, we curate iOS/Swift articles worth your time. Saves you from endless scrolling through noise.

Weekly sanity check. No rabbit holes, just the good stuff.

Drop your email: ios-newsletter.snappmobile.io/subscribe.html

#iOSDev #Swift #iOSTips
Snapp Mobile iOS Newsletter | Subscription
Subscription
ios-newsletter.snappmobile.io
snappiosnewsletter.bsky.social
🐛 𝑇ℎ𝑒 𝑇𝐶𝐴 𝑃𝑙𝑎𝑦𝑏𝑜𝑜𝑘: 𝐷𝑒𝑏𝑢𝑔𝑔𝑖𝑛𝑔 𝐿𝑎𝑟𝑔𝑒 𝑅𝑒𝑑𝑢𝑐𝑒𝑟𝑠 𝑊𝑖𝑡ℎ𝑜𝑢𝑡 𝐿𝑜𝑠𝑖𝑛𝑔 𝑌𝑜𝑢𝑟 𝑀𝑖𝑛𝑑 by Wesley Matlock

Practical debugging techniques for complex 𝑅𝑒𝑑𝑢𝑐𝑒𝑟 architectures in TCA, including state inspection tools and mental models for managing large application state.

#TCA #Swift #Debugging
The TCA Playbook: Debugging Large Reducers Without Losing Your Mind
Professional iOS Engineer specializing in SwiftUI, VisionOS, and modern Apple platforms. Expert in HealthKit, tvOS, watchOS and even some VisionOS development with 50+ technical articles and…
www.wesleymatlock.com
snappiosnewsletter.bsky.social
⚙️ 𝐻𝑜𝑤 𝑡𝑜 𝑖𝑛𝑠𝑡𝑎𝑙𝑙 𝑋𝑐𝑜𝑑𝑒 26'𝑠 𝑀𝑒𝑡𝑎𝑙 𝑇𝑜𝑜𝑙𝑐ℎ𝑎𝑖𝑛 𝑜𝑛 𝐶𝐼/𝐶𝐷 by @polpielladev.bsky.social

Xcode 26 no longer bundles Metal toolchain by default. Learn to automate installation using 𝑥𝑐𝑜𝑑𝑒𝑏𝑢𝑖𝑙𝑑 -𝑑𝑜𝑤𝑛𝑙𝑜𝑎𝑑𝐶𝑜𝑚𝑝𝑜𝑛𝑒𝑛𝑡 and -𝑖𝑚𝑝𝑜𝑟𝑡𝐶𝑜𝑚𝑝𝑜𝑛𝑒𝑛𝑡 to prevent CI build failures.

#Xcode #CICD #Metal
How to install Xcode 26's Metal Toolchain on CI/CD
If your CI/CD runner does not have the metal toolchain installed, you can use xcodebuild to download it and install it.
www.polpiella.dev
snappiosnewsletter.bsky.social
🥽 𝐷𝑒𝑒𝑝 𝐷𝑖𝑣𝑒 𝑖𝑛𝑡𝑜 𝑀𝑎𝑛𝑖𝑝𝑢𝑙𝑎𝑡𝑖𝑜𝑛 𝑜𝑛 𝑣𝑖𝑠𝑖𝑜𝑛𝑂𝑆 by @vrhermit.com

Explore how 𝑀𝑎𝑛𝑖𝑝𝑢𝑙𝑎𝑡𝑖𝑜𝑛𝐶𝑜𝑚𝑝𝑜𝑛𝑒𝑛𝑡 standardizes complex spatial interactions on Apple Vision Pro, enabling pinch gestures, rotation, and scaling for 3D content.

#visionOS #SpatialComputing #RealityKit

stepinto.vision/articles/dee...
Deep Dive into Manipulation on visionOS
Taking the next step into creating a native input system for Apple Vision Pro.
stepinto.vision
snappiosnewsletter.bsky.social
🪟 𝐴𝑑𝑜𝑝𝑡𝑖𝑛𝑔 𝑡ℎ𝑒 𝑁𝑒𝑤 𝑊𝑖𝑛𝑑𝑜𝑤 𝐶𝑜𝑛𝑡𝑟𝑜𝑙𝑠 𝑖𝑛 𝑖𝑃𝑎𝑑𝑂𝑆 26 by Weichao Deng

Learn to implement iPadOS 26's new Window Controls and macOS-like menu bar, including details on 𝑈𝐼𝑉𝑖𝑒𝑤.𝑙𝑎𝑦𝑜𝑢𝑡𝑅𝑒𝑔𝑖𝑜𝑛.𝑚𝑎𝑟𝑔𝑖𝑛𝑠(𝑐𝑜𝑟𝑛𝑒𝑟𝐴𝑑𝑎𝑝𝑡𝑎𝑡𝑖𝑜𝑛:) when official docs fall short.

#iPadOS26 #iOS #UIKit

open.substack.com/pub/juniperp...
Adopting the New Window Controls in iPadOS 26
iPadOS has been evolving, and this year Apple is pushing the windowing experience even further in iPadOS 26 with the new Window Controls and a macOS-like menu bar.
open.substack.com
snappiosnewsletter.bsky.social
📂 𝑇ℎ𝑒 𝐹𝑖𝑙𝑒 𝐼𝑚𝑝𝑜𝑟𝑡𝑒𝑟 𝑖𝑛 𝑆𝑤𝑖𝑓𝑡𝑈𝐼 by Gabriel Theodoropoulos

Master SwiftUI's 𝑓𝑖𝑙𝑒𝐼𝑚𝑝𝑜𝑟𝑡𝑒𝑟 modifier with this comprehensive guide covering security-scoped resources, multiple file types with 𝑈𝑇𝑇𝑦𝑝𝑒, and proper permission management.

#SwiftUI #iOS #FileManagement

serialcoder.dev/text-tutoria...
The File Importer in SwiftUI – SerialCoder.dev
SerialCoder.dev
serialcoder.dev
snappiosnewsletter.bsky.social
📦 𝐴𝑙𝑙 𝑎𝑏𝑜𝑢𝑡 𝑆𝑤𝑖𝑓𝑡 𝑃𝑎𝑐𝑘𝑎𝑔𝑒 𝑀𝑎𝑛𝑎𝑔𝑒𝑟 𝑇𝑟𝑎𝑖𝑡𝑠 by Tibor Bödecs

Discover how 𝑇𝑟𝑎𝑖𝑡 objects work as feature flags in SPM, enabling conditional compilation, optional dependencies, and advanced package configurations.

#Swift #SPM #SwiftPackageManager

theswiftdev.com/2025/all-abo...
All about Swift Package Manager Traits - The.Swift.Dev.
Discover how traits act as feature flags, enabling conditional compilation, optional dependencies, and advanced package configurations.
theswiftdev.com
snappiosnewsletter.bsky.social
🔄 𝑈𝑠𝑖𝑛𝑔 𝑀𝑎𝑖𝑛𝐴𝑐𝑡𝑜𝑟.𝑎𝑠𝑠𝑢𝑚𝑒𝐼𝑠𝑜𝑙𝑎𝑡𝑒𝑑 𝑡𝑜 𝑆𝑜𝑙𝑣𝑒 𝐿𝑒𝑔𝑎𝑐𝑦 𝐴𝑃𝐼 𝐶𝑜𝑚𝑝𝑎𝑡𝑖𝑏𝑖𝑙𝑖𝑡𝑦 𝐼𝑠𝑠𝑢𝑒𝑠 𝑤𝑖𝑡ℎ 𝑆𝑤𝑖𝑓𝑡 6 by @fatbobman.com

Bridge legacy Apple APIs with Swift 6's strict concurrency using 𝑀𝑎𝑖𝑛𝐴𝑐𝑡𝑜𝑟.𝑎𝑠𝑠𝑢𝑚𝑒𝐼𝑠𝑜𝑙𝑎𝑡𝑒𝑑 to provide MainActor context in synchronous methods.

#Swift6 #Concurrency #SwiftConcurrency
Using MainActor.assumeIsolated to Solve Legacy API Compatibility Issues with Swift 6
Use MainActor.assumeIsolated in a synchronous context to create closure safely on the main thread and return Sendable types, achieving full compatibility without warnings or errors.
fatbobman.com
snappiosnewsletter.bsky.social
💡 𝑆𝑤𝑖𝑓𝑡 𝐷𝑒𝑓𝑎𝑢𝑙𝑡 𝑉𝑎𝑙𝑢𝑒 𝑖𝑛 𝑆𝑡𝑟𝑖𝑛𝑔 𝐼𝑛𝑡𝑒𝑟𝑝𝑜𝑙𝑎𝑡𝑖𝑜𝑛𝑠 by @useyourloaf.com

Swift 6.2 introduces a new default value parameter for string interpolation, letting you provide fallback strings for optional values of any type.

#Swift #StringInterpolation #iOS
Swift Default Value in String Interpolations
Swift 6.2 makes it easier to interpolate strings with optional values.
useyourloaf.com
snappiosnewsletter.bsky.social
Hey. What exactly are you curious about?
snappiosnewsletter.bsky.social
We read too many iOS blogs

Every Friday, we curate iOS/Swift articles worth your time. Saves you from endless scrolling through noise.

Weekly sanity check. No rabbit holes, just the good stuff.

Drop your email: ios-newsletter.snappmobile.io/subscribe.html

#iOSDev #Swift #iOSTips
Snapp Mobile iOS Newsletter | Subscription
Subscription
ios-newsletter.snappmobile.io
snappiosnewsletter.bsky.social
📢 𝐈𝐬𝐬𝐮𝐞 #𝟔𝟎 𝐢𝐬 𝐨𝐮𝐭!

This week's squad:
🔤 𝑆𝑡𝑟𝑖𝑛𝑔 𝐼𝑛𝑡𝑒𝑟𝑝𝑜𝑙𝑎𝑡𝑖𝑜𝑛 𝐷𝑒𝑓𝑎𝑢𝑙𝑡𝑠
⚡ 𝑀𝑎𝑖𝑛𝐴𝑐𝑡𝑜𝑟.𝑎𝑠𝑠𝑢𝑚𝑒𝐼𝑠𝑜𝑙𝑎𝑡𝑒𝑑 & 𝑆𝑤𝑖𝑓𝑡 6
📦 𝑆𝑃𝑀 𝑇𝑟𝑎𝑖𝑡𝑠
📁 𝐹𝑖𝑙𝑒 𝐼𝑚𝑝𝑜𝑟𝑡𝑒𝑟 𝑖𝑛 𝑆𝑤𝑖𝑓𝑡𝑈𝐼
🪟 𝑖𝑃𝑎𝑑𝑂𝑆 26 𝑊𝑖𝑛𝑑𝑜𝑤 𝐶𝑜𝑛𝑡𝑟𝑜𝑙𝑠
🥽 𝑣𝑖𝑠𝑖𝑜𝑛𝑂𝑆 𝑀𝑎𝑛𝑖𝑝𝑢𝑙𝑎𝑡𝑖𝑜𝑛
🔨 𝑀𝑒𝑡𝑎𝑙 𝑇𝑜𝑜𝑙𝑐ℎ𝑎𝑖𝑛 𝑜𝑛 𝐶𝐼/𝐶𝐷
🐛 𝐷𝑒𝑏𝑢𝑔𝑔𝑖𝑛𝑔 𝑇𝐶𝐴

#Swift #SwiftUI
Snapp Mobile iOS Newsletter 60
Issue 60 • October 3, 2025
ios-newsletter.snappmobile.io
snappiosnewsletter.bsky.social
⚠️ 6 𝑀𝑖𝑠𝑡𝑎𝑘𝑒𝑠 𝑇ℎ𝑎𝑡 𝑆𝑙𝑜𝑤 𝐷𝑜𝑤𝑛 𝑀𝑜𝑏𝑖𝑙𝑒 𝐹𝑒𝑎𝑡𝑢𝑟𝑒 𝐷𝑒𝑣𝑒𝑙𝑜𝑝𝑚𝑒𝑛𝑡 by Tjeerd in 't Veen

Common thinking mistakes in mobile dev: jumping to implementation early, focusing only on UI, ignoring async operations.

#MobileDev #Development #BestPractices
6 Mistakes That Slow Down Mobile Feature Development
Most feature development slowdowns stem from fundamental thinking mistakes rather than technical knowledge gaps. Learn the six critical architectural thinking traps that consistently slow down mobile development and how to avoid them.
www.mobilesystemdesign.com
snappiosnewsletter.bsky.social
📱 𝐴𝑝𝑝 𝑆𝑡𝑜𝑟𝑒 𝑂𝑝𝑡𝑖𝑚𝑖𝑧𝑎𝑡𝑖𝑜𝑛: 𝑅𝑒𝑎𝑙-𝑤𝑜𝑟𝑙𝑑 𝐵𝑒𝑠𝑡 𝑃𝑟𝑎𝑐𝑡𝑖𝑐𝑒𝑠 by <a href="https://bsky.app/profile/did:plc:us3ex2ei67b7w2w4x6p4qf7w" class="hover:underline text-blue-600 dark:text-sky-400" target="_blank" rel="noopener">@avanderlee.com

Need more users to discover your app? Real-world ASO strategies and tools that go beyond the basics.

#AppStore #ASO #Marketing
App Store Optimization: Real-world Best Practices
Explore App Store Optimization strategies to enhance your app's presence and gain more users in a competitive market.
www.avanderlee.com
snappiosnewsletter.bsky.social
🎨 𝑃𝑟𝑜𝑣𝑖𝑑𝑖𝑛𝑔 𝑀𝑢𝑙𝑡𝑖𝑝𝑙𝑒 𝐴𝑐𝑐𝑒𝑛𝑡 𝐶𝑜𝑙𝑜𝑟𝑠 𝑖𝑛 𝑆𝑤𝑖𝑓𝑡𝑈𝐼 𝐴𝑝𝑝𝑠 by Gabriel Theodoropoulos

Let users personalize your app! Learn how to implement multiple accent colors for customizable, personal experiences.

#SwiftUI #AccentColor #Customization
Providing Multiple Accent Colors in SwiftUI Apps – SerialCoder.dev
serialcoder.dev
snappiosnewsletter.bsky.social
⏰ 𝑆𝑤𝑖𝑓𝑡𝑈𝐼'𝑠 𝑇𝑖𝑚𝑒𝑙𝑖𝑛𝑒𝑉𝑖𝑒𝑤 by Kyle Ye

Time-based animations made easy! Deep dive into TimelineView's architecture and schedule types through OpenSwiftUI.

https://kyleye.top/posts/swiftui-timeline-view/?lang=en

#SwiftUI #TimelineView #Animation
Understanding SwiftUI's TimelineView: A Deep Dive | 知阅百微 见微知著
Exploring the internals of TimelineView and TimelineSchedule based on OpenSwiftUI implementation
kyleye.top
snappiosnewsletter.bsky.social
⚡ 𝐶𝑎𝑛𝑐𝑒𝑙𝑙𝑖𝑛𝑔 𝑎𝑠𝑦𝑛𝑐 𝑡𝑎𝑠𝑘𝑠 𝑖𝑛 𝑆𝑤𝑖𝑓𝑡𝑈𝐼 by Natascha Fadeeva

Runaway async tasks in SwiftUI? Learn both automatic and manual approaches for proper async work cancellation.

https://tanaschita.com/swiftui-cancel-async-work

#SwiftUI #Concurrency #AsyncAwait
Cancelling async tasks in SwiftUI
Learn how to cancel async tasks in SwiftUI using the task and task(id:) modifiers. See how SwiftUI automatically cancels work when views disappear or input changes, and how to handle manual cancellation for long-running or service-level tasks.
tanaschita.com
snappiosnewsletter.bsky.social
📋 𝑁𝑆𝐶𝑜𝑝𝑦𝑖𝑛𝑔 𝑖𝑛 𝑎 𝑆𝑤𝑖𝑓𝑡 𝑤𝑜𝑟𝑙𝑑 by <a href="https://bsky.app/profile/did:plc:yd22bcpy36vw6ez7phpueyt5" class="hover:underline text-blue-600 dark:text-sky-400" target="_blank" rel="noopener">@douglashill.co

Deep dive into NSCopying challenges in Swift - class copying, designated initializers, and subclass copying solutions.

https://www.nutrient.io/blog/nscopying-in-a-swift-world/

#Swift #NSCopying #iOS
NSCopying in a Swift world | Nutrient
An exploration into how a modern Swift programming mindset clashes with Objective-C’s NSCopying protocol.
www.nutrient.io
snappiosnewsletter.bsky.social
🔍 𝑈𝑠𝑖𝑛𝑔 𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑡𝑖𝑜𝑛𝑠 𝑡𝑜 𝑜𝑏𝑠𝑒𝑟𝑣𝑒 𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑏𝑙𝑒 𝑚𝑜𝑑𝑒𝑙 𝑝𝑟𝑜𝑝𝑒𝑟𝑡𝑖𝑒𝑠 by <a href="https://bsky.app/profile/did:plc:echnmsguhajwzpsw3x73jc2e" class="hover:underline text-blue-600 dark:text-sky-400" target="_blank" rel="noopener">@donnywals.bsky.social

Xcode 26's new approach for observing Observable properties outside SwiftUI - simpler than withObservationTracking!

#Swift #Observable #iOS
Using Observations to observe @Observable model properties – Donny Wals
Starting with Xcode 26, there’s a new way to observe properties of your models. In the past, we had to use the function to access properties and receive changes with semantics. In Xcode 26 and Swift 6.
www.donnywals.com
snappiosnewsletter.bsky.social
📱 𝐈𝐬𝐬𝐮𝐞 #𝟓𝟗 𝐢𝐬 𝐨𝐮𝐭!

This week's picks:

🔍 @𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑏𝑙𝑒
📋 𝑁𝑆𝐶𝑜𝑝𝑦𝑖𝑛𝑔
⚡ 𝐴𝑠𝑦𝑛𝑐 𝐶𝑎𝑛𝑐𝑒𝑙
⏰ 𝑇𝑖𝑚𝑒𝑙𝑖𝑛𝑒𝑉𝑖𝑒𝑤
🎛️ 𝐸𝑑𝑖𝑡𝑀𝑜𝑑𝑒
🎨 𝐴𝑐𝑐𝑒𝑛𝑡 𝐶𝑜𝑙𝑜𝑟𝑠
📱 𝐴𝑆𝑂
⚠️ 𝐷𝑒𝑣 𝑀𝑖𝑠𝑡𝑎𝑘𝑒𝑠

#iOSDev #Swift #SwiftUI
snappiosnewsletter.bsky.social
📱 𝐼𝑛 𝑌𝑜𝑢𝑟 𝐹𝑎𝑐𝑒 by <a href="https://bsky.app/profile/did:plc:j6yfmx5vmuvzwqpx2phsiec6" class="hover:underline text-blue-600 dark:text-sky-400" target="_blank" rel="noopener">@martinhoeller.net

Innovative iOS app ensuring you never miss important meetings. Great example of real-world success from independent developers building practical solutions.

#iOSApp #IndieApp #Productivity

https://www.inyourface.app/ios/
In Your Face for iOS
In Your Face - Meeting reminder app for macOS
www.inyourface.app
snappiosnewsletter.bsky.social
🔤 𝑈𝑇𝐹-8 𝑖𝑠 𝑎 𝐵𝑟𝑖𝑙𝑙𝑖𝑎𝑛𝑡 𝐷𝑒𝑠𝑖𝑔𝑛 by Vishnu Haridas

Fascinating exploration of UTF-8's ingenious architecture and how it represents millions of characters while maintaining backward compatibility with 𝐴𝑆𝐶𝐼𝐼.

#Programming #UTF8 #Encoding
UTF-8 is a Brilliant Design — Vishnu's Pages
Exploring the brilliant design of UTF-8 encoding system that represents millions of characters while being backward compatible with ASCII
iamvishnu.com
snappiosnewsletter.bsky.social
🥽 𝑇𝑤𝑒𝑛𝑡𝑦-𝑠𝑖𝑥 𝑜𝑓 𝑚𝑦 𝐹𝑎𝑣𝑜𝑟𝑖𝑡𝑒 𝐹𝑒𝑎𝑡𝑢𝑟𝑒𝑠 𝑎𝑛𝑑 𝐴𝑃𝐼𝑠 𝑖𝑛 𝑣𝑖𝑠𝑖𝑜𝑛𝑂𝑆 26 by <a href="https://bsky.app/profile/did:plc:giwoohyimwmyu7yom7y7bfc6" class="hover:underline text-blue-600 dark:text-sky-400" target="_blank" rel="noopener">@vrhermit.com

Comprehensive tour of visionOS 26's standout features from Widgets to 𝑅𝑒𝑎𝑙𝑖𝑡𝑦𝐾𝑖𝑡. Essential for spatial computing developers.

#visionOS #SpatialComputing #AR
Twenty-six of my Favorite Features and APIs in visionOS 26
A rapid-fire tour of some of the awesome things developers can use when building with visionOS 26.
stepinto.vision
snappiosnewsletter.bsky.social
✨ 𝑇ℎ𝑒 𝑁𝑜𝑟𝑡ℎ𝑒𝑟𝑛 𝑆𝑡𝑎𝑟𝑠 𝑜𝑓 𝐿𝑖𝑞𝑢𝑖𝑑 𝐺𝑙𝑎𝑠𝑠 by <a href="https://bsky.app/profile/did:plc:qggjbzlduadelhtq44gg37v6" class="hover:underline text-blue-600 dark:text-sky-400" target="_blank" rel="noopener">@dbolella.bsky.social

Deep dive into iOS 26's new design system: Hierarchy, Harmony, and Consistency.

#LiquidGlass #DesignSystem #iOS26
The Northern Stars of Liquid Glass
An overview of the new HIG principles of Hierarchy, Harmony, and Consistency
captainswiftui.substack.com