📬 https://ios-newsletter.snappmobile.io/subscribe.html
Tired of fixing the same SwiftUI mistakes across projects? An open-source agent skill teaches AI to write better views from the start.
#SwiftUI #AI #iOSDev #Swift
www.avanderlee.com/ai-developme...
Tired of fixing the same SwiftUI mistakes across projects? An open-source agent skill teaches AI to write better views from the start.
#SwiftUI #AI #iOSDev #Swift
www.avanderlee.com/ai-developme...
Fresh insights
🤖 𝑆𝑤𝑖𝑓𝑡𝑈𝐼 𝐴𝑔𝑒𝑛𝑡 𝑆𝑘𝑖𝑙𝑙
🤖 𝐻𝑜𝑤 𝑡𝑜 𝑈𝑠𝑒 𝐿𝐿𝑀 𝑎𝑠 𝑎 𝐽𝑢𝑑𝑔𝑒
🌙 𝐷𝑎𝑟𝑘 𝑀𝑜𝑑𝑒
✨ 𝑔𝑙𝑎𝑠𝑠𝐸𝑓𝑓𝑒𝑐𝑡𝐼𝐷 𝑀𝑜𝑑𝑖𝑓𝑖𝑒𝑟 𝑖𝑛 𝑆𝑤𝑖𝑓𝑡𝑈𝐼
🧪 𝑇𝑒𝑠𝑡𝑎𝑏𝑙𝑒 𝑆𝑤𝑖𝑓𝑡𝑈𝐼 𝑁𝑎𝑣𝑖𝑔𝑎𝑡𝑖𝑜𝑛
📦 𝑂𝑛-𝑑𝑒𝑚𝑎𝑛𝑑 𝑟𝑒𝑠𝑜𝑢𝑟𝑐𝑒𝑠
🎥 𝑆𝑐𝑟𝑒𝑒𝑛 𝑅𝑒𝑐𝑜𝑟𝑑𝑖𝑛𝑔 𝐴𝑟𝑐ℎ𝑖𝑡𝑒𝑐𝑡𝑢𝑟𝑒
📊 𝐶𝑜𝑚𝑏𝑖𝑛𝑒 𝑂𝑝𝑒𝑟𝑎𝑡𝑜𝑟𝑠
#Swift #SwiftUI
ios-newsletter.snappmobile.io/issues/2026-...
Fresh insights
🤖 𝑆𝑤𝑖𝑓𝑡𝑈𝐼 𝐴𝑔𝑒𝑛𝑡 𝑆𝑘𝑖𝑙𝑙
🤖 𝐻𝑜𝑤 𝑡𝑜 𝑈𝑠𝑒 𝐿𝐿𝑀 𝑎𝑠 𝑎 𝐽𝑢𝑑𝑔𝑒
🌙 𝐷𝑎𝑟𝑘 𝑀𝑜𝑑𝑒
✨ 𝑔𝑙𝑎𝑠𝑠𝐸𝑓𝑓𝑒𝑐𝑡𝐼𝐷 𝑀𝑜𝑑𝑖𝑓𝑖𝑒𝑟 𝑖𝑛 𝑆𝑤𝑖𝑓𝑡𝑈𝐼
🧪 𝑇𝑒𝑠𝑡𝑎𝑏𝑙𝑒 𝑆𝑤𝑖𝑓𝑡𝑈𝐼 𝑁𝑎𝑣𝑖𝑔𝑎𝑡𝑖𝑜𝑛
📦 𝑂𝑛-𝑑𝑒𝑚𝑎𝑛𝑑 𝑟𝑒𝑠𝑜𝑢𝑟𝑐𝑒𝑠
🎥 𝑆𝑐𝑟𝑒𝑒𝑛 𝑅𝑒𝑐𝑜𝑟𝑑𝑖𝑛𝑔 𝐴𝑟𝑐ℎ𝑖𝑡𝑒𝑐𝑡𝑢𝑟𝑒
📊 𝐶𝑜𝑚𝑏𝑖𝑛𝑒 𝑂𝑝𝑒𝑟𝑎𝑡𝑜𝑟𝑠
#Swift #SwiftUI
ios-newsletter.snappmobile.io/issues/2026-...
Want to reduce 48MP ProRAW file sizes without sacrificing quality? Discover how to enable JPEG-XL compression in your camera app and navigate an undocumented 𝐴𝑉𝐹𝑜𝑢𝑛𝑑𝑎𝑡𝑖𝑜𝑛 API.
#AVFoundation #ProRAW #iOSDevelopment
Want to reduce 48MP ProRAW file sizes without sacrificing quality? Discover how to enable JPEG-XL compression in your camera app and navigate an undocumented 𝐴𝑉𝐹𝑜𝑢𝑛𝑑𝑎𝑡𝑖𝑜𝑛 API.
#AVFoundation #ProRAW #iOSDevelopment
Struggling to get Blender animations working in Reality Composer Pro? The specific export sequence that fixes broken skeleton bindings - plus an addon to automate it.
#visionOS #Blender
stepinto.vision/articles/i-s...
Struggling to get Blender animations working in Reality Composer Pro? The specific export sequence that fixes broken skeleton bindings - plus an addon to automate it.
#visionOS #Blender
stepinto.vision/articles/i-s...
Why are Previews faster on iOS 26? Swift 6.2's multiple type erasers enable 𝐷𝑒𝑏𝑢𝑔𝑅𝑒𝑝𝑙𝑎𝑐𝑒𝑎𝑏𝑙𝑒𝑉𝑖𝑒𝑤 to hot-swap views without rebuilds.
Why are Previews faster on iOS 26? Swift 6.2's multiple type erasers enable 𝐷𝑒𝑏𝑢𝑔𝑅𝑒𝑝𝑙𝑎𝑐𝑒𝑎𝑏𝑙𝑒𝑉𝑖𝑒𝑤 to hot-swap views without rebuilds.
Should you start with non-sendable types before adding isolation? Explore a simpler approach to Swift Concurrency design.
#Swift #Concurrency #iOSDevelopment
massicotte.org/blog/non-sen...
Should you start with non-sendable types before adding isolation? Explore a simpler approach to Swift Concurrency design.
#Swift #Concurrency #iOSDevelopment
massicotte.org/blog/non-sen...
Trace 𝑖𝑠𝐾𝑛𝑜𝑤𝑛𝑈𝑛𝑖𝑞𝑢𝑒𝑙𝑦𝑅𝑒𝑓𝑒𝑟𝑒𝑛𝑐𝑒𝑑() from Standard Library through AST, SIL, and LLVM IR to Swift Runtime - how CoW works at every compiler layer.
#Swift #CompilerTheory #iOSDevelopment
Trace 𝑖𝑠𝐾𝑛𝑜𝑤𝑛𝑈𝑛𝑖𝑞𝑢𝑒𝑙𝑦𝑅𝑒𝑓𝑒𝑟𝑒𝑛𝑐𝑒𝑑() from Standard Library through AST, SIL, and LLVM IR to Swift Runtime - how CoW works at every compiler layer.
#Swift #CompilerTheory #iOSDevelopment
𝑆𝑤𝑖𝑓𝑡𝑈𝐼 supports Markdown out-of-the-box since iOS 15, but can you color text directly without 𝐴𝑡𝑡𝑟𝑖𝑏𝑢𝑡𝑒𝑑𝑆𝑡𝑟𝑖𝑛𝑔? Discover built-in formatting and its surprising limitations.
#SwiftUI #Markdown #iOSDevelopment
artemnovichkov.com/blog/renderi...
𝑆𝑤𝑖𝑓𝑡𝑈𝐼 supports Markdown out-of-the-box since iOS 15, but can you color text directly without 𝐴𝑡𝑡𝑟𝑖𝑏𝑢𝑡𝑒𝑑𝑆𝑡𝑟𝑖𝑛𝑔? Discover built-in formatting and its surprising limitations.
#SwiftUI #Markdown #iOSDevelopment
artemnovichkov.com/blog/renderi...
Need to cut transparent holes through surfaces in 𝑆𝑤𝑖𝑓𝑡𝑈𝐼? Implement reverse masking using blend modes and 𝑐𝑜𝑚𝑝𝑜𝑠𝑖𝑡𝑖𝑛𝑔𝐺𝑟𝑜𝑢𝑝().
#SwiftUI #iOSDevelopment
livsycode.com/swiftui/reve...
Need to cut transparent holes through surfaces in 𝑆𝑤𝑖𝑓𝑡𝑈𝐼? Implement reverse masking using blend modes and 𝑐𝑜𝑚𝑝𝑜𝑠𝑖𝑡𝑖𝑛𝑔𝐺𝑟𝑜𝑢𝑝().
#SwiftUI #iOSDevelopment
livsycode.com/swiftui/reve...
Building with AI agents moves fast - but what are the hidden costs? Five critical lessons from the first month of serious AI-assisted development.
#AI #Swift #iOSDevelopment
Building with AI agents moves fast - but what are the hidden costs? Five critical lessons from the first month of serious AI-assisted development.
#AI #Swift #iOSDevelopment
Snapp Mobile iOS Newsletter → 𝗦𝗻𝗮𝗽𝗽 𝗶𝗢𝗦 𝗪𝗲𝗲𝗸𝗹𝘆
New name. New look. Same great articles.
𝗜𝘀𝘀𝘂𝗲 #𝟳𝟳 is live 🚀
This week:
→ AI App Dev: What I Learned in One Month
→ Copy-on-write & Swift Internals
→ JPEG-XL in Apple ProRAW
+ 5 more
Snapp Mobile iOS Newsletter → 𝗦𝗻𝗮𝗽𝗽 𝗶𝗢𝗦 𝗪𝗲𝗲𝗸𝗹𝘆
New name. New look. Same great articles.
𝗜𝘀𝘀𝘂𝗲 #𝟳𝟳 is live 🚀
This week:
→ AI App Dev: What I Learned in One Month
→ Copy-on-write & Swift Internals
→ JPEG-XL in Apple ProRAW
+ 5 more
Modularity promises independence but often delivers circular dependencies and inflated interfaces. Splitting code without architectural discipline creates more problems than it solves.
#Architecture #iOSDev
livsycode.com/best-practic...
Modularity promises independence but often delivers circular dependencies and inflated interfaces. Splitting code without architectural discipline creates more problems than it solves.
#Architecture #iOSDev
livsycode.com/best-practic...
Mapping VIPER components directly onto MVVM equivalents - Views to Content Views, Interactors to ViewModels, Presenters to Root Views - and why VIPER's boilerplate isn't worth it in SwiftUI.
#SwiftUI #Architecture #iOSDev
Mapping VIPER components directly onto MVVM equivalents - Views to Content Views, Interactors to ViewModels, Presenters to Root Views - and why VIPER's boilerplate isn't worth it in SwiftUI.
#SwiftUI #Architecture #iOSDev
Which schema changes need manual migrations versus automatic handling? Exploring boundaries between automatic reshaping and bridge versions.
#SwiftData #Swift #iOSDev
www.donnywals.com/a-deep-dive-...
Which schema changes need manual migrations versus automatic handling? Exploring boundaries between automatic reshaping and bridge versions.
#SwiftData #Swift #iOSDev
www.donnywals.com/a-deep-dive-...
Building for tvOS means confronting Focus Engine mysteries, missing WebView, and storage constraints that force cache-only strategies. The workarounds that kept Syncnext player alive.
#tvOS #iOSDev #Framework
fatbobman.com/en/posts/sur...
Building for tvOS means confronting Focus Engine mysteries, missing WebView, and storage constraints that force cache-only strategies. The workarounds that kept Syncnext player alive.
#tvOS #iOSDev #Framework
fatbobman.com/en/posts/sur...
Make custom types work seamlessly with SwiftUI lists and navigation. Learn when and how to leverage 𝐼𝑑𝑒𝑛𝑡𝑖𝑓𝑖𝑎𝑏𝑙𝑒 for everything from simple models to complex SwiftData integrations.
#Swift #SwiftUI #iOSDev
Make custom types work seamlessly with SwiftUI lists and navigation. Learn when and how to leverage 𝐼𝑑𝑒𝑛𝑡𝑖𝑓𝑖𝑎𝑏𝑙𝑒 for everything from simple models to complex SwiftData integrations.
#Swift #SwiftUI #iOSDev
Why does Swift support four different dispatch mechanisms? Understanding how inlining, static dispatch, table dispatch, and message dispatch affect performance.
#Swift #Performance #iOSDev
Why does Swift support four different dispatch mechanisms? Understanding how inlining, static dispatch, table dispatch, and message dispatch affect performance.
#Swift #Performance #iOSDev
Building a custom radial stress indicator using 𝑆𝑒𝑐𝑡𝑜𝑟𝑀𝑎𝑟𝑘 reveals the animation pitfalls that catch you by surprise.
#SwiftUI #Charts #iOSDev
khorbushko.github.io/article/2026...
Building a custom radial stress indicator using 𝑆𝑒𝑐𝑡𝑜𝑟𝑀𝑎𝑟𝑘 reveals the animation pitfalls that catch you by surprise.
#SwiftUI #Charts #iOSDev
khorbushko.github.io/article/2026...
Three types of nothingness in SwiftUI: 𝐸𝑚𝑝𝑡𝑦𝑉𝑖𝑒𝑤 for layout, 𝐸𝑚𝑝𝑡𝑦𝑀𝑜𝑑𝑖𝑓𝑖𝑒𝑟 for compilation, and 𝐶𝑜𝑛𝑡𝑒𝑛𝑡𝑈𝑛𝑎𝑣𝑎𝑖𝑙𝑎𝑏𝑙𝑒𝑉𝑖𝑒𝑤 for intentional empty states - each serves a different architectural purpose.
#SwiftUI #iOSDev #Swift
Three types of nothingness in SwiftUI: 𝐸𝑚𝑝𝑡𝑦𝑉𝑖𝑒𝑤 for layout, 𝐸𝑚𝑝𝑡𝑦𝑀𝑜𝑑𝑖𝑓𝑖𝑒𝑟 for compilation, and 𝐶𝑜𝑛𝑡𝑒𝑛𝑡𝑈𝑛𝑎𝑣𝑎𝑖𝑙𝑎𝑏𝑙𝑒𝑉𝑖𝑒𝑤 for intentional empty states - each serves a different architectural purpose.
#SwiftUI #iOSDev #Swift
Featuring:
📐 𝐸𝑚𝑝𝑡𝑖𝑛𝑒𝑠𝑠 𝑖𝑛 𝑆𝑤𝑖𝑓𝑡𝑈𝐼
📊 𝐶𝑢𝑠𝑡𝑜𝑚 𝑆𝑤𝑖𝑓𝑡𝑈𝐼 𝐶ℎ𝑎𝑟𝑡𝑠
⚡ 𝑀𝑒𝑡ℎ𝑜𝑑 𝐷𝑖𝑠𝑝𝑎𝑡𝑐ℎ 𝑖𝑛 𝑆𝑤𝑖𝑓𝑡
🔑 𝐼𝑑𝑒𝑛𝑡𝑖𝑓𝑖𝑎𝑏𝑙𝑒 𝑃𝑟𝑜𝑡𝑜𝑐𝑜𝑙
📺 𝑆𝑢𝑟𝑣𝑖𝑣𝑖𝑛𝑔 𝑡𝑣𝑂𝑆
💾 𝑆𝑤𝑖𝑓𝑡𝐷𝑎𝑡𝑎 𝑚𝑖𝑔𝑟𝑎𝑡𝑖𝑜𝑛𝑠
🏗️ 𝑊ℎ𝑦 𝑉𝐼𝑃𝐸𝑅 𝑎𝑛𝑑 𝑀𝑉𝑉𝑀 𝑖𝑛 𝑆𝑤𝑖𝑓𝑡𝑈𝐼 𝑎𝑟𝑒 𝑡ℎ𝑒 𝑠𝑎𝑚𝑒
🧩 𝑀𝑜𝑑𝑢𝑙𝑎𝑟𝑖𝑡𝑦 𝑎𝑠 𝑎𝑛 𝐴𝑟𝑐ℎ𝑖𝑡𝑒𝑐𝑡𝑢𝑟𝑎𝑙 𝐶ℎ𝑜𝑖𝑐𝑒
#Swift #SwiftUI #iOSDev
🥇 @natpanferova.bsky.social on 𝘐𝘯𝘯𝘦𝘳 𝘴𝘩𝘢𝘥𝘰𝘸
🥈 @natpanferova.bsky.social on 𝘖𝘣𝘴𝘦𝘳𝘷𝘢𝘣𝘭𝘦 𝘊𝘭𝘢𝘴𝘴𝘦𝘴
🥉 @vrhermit.com on 𝘚𝘤𝘳𝘪𝘱𝘵𝘪𝘯𝘨 𝘢 𝘱𝘳𝘰𝘤𝘦𝘴𝘴
Links to articles 👇
#iOS #SwiftUI #visionOS
🥇 @natpanferova.bsky.social on 𝘐𝘯𝘯𝘦𝘳 𝘴𝘩𝘢𝘥𝘰𝘸
🥈 @natpanferova.bsky.social on 𝘖𝘣𝘴𝘦𝘳𝘷𝘢𝘣𝘭𝘦 𝘊𝘭𝘢𝘴𝘴𝘦𝘴
🥉 @vrhermit.com on 𝘚𝘤𝘳𝘪𝘱𝘵𝘪𝘯𝘨 𝘢 𝘱𝘳𝘰𝘤𝘦𝘴𝘴
Links to articles 👇
#iOS #SwiftUI #visionOS
When Xcode can't compile 𝘔𝘦𝘵𝘢𝘭 shaders due to missing toolchain access, discover a manual mounting workaround for this permissions problem.
#Metal #Xcode #Graphics
christiantietze.de/posts/2026/0...
When Xcode can't compile 𝘔𝘦𝘵𝘢𝘭 shaders due to missing toolchain access, discover a manual mounting workaround for this permissions problem.
#Metal #Xcode #Graphics
christiantietze.de/posts/2026/0...
Does AI make everyone equally productive? Discover how AI amplifies existing team conditions - strengthening solid teams while accelerating problems in weaker ones.
#AI #TeamDynamics #Development
livsycode.com/best-practic...
Does AI make everyone equally productive? Discover how AI amplifies existing team conditions - strengthening solid teams while accelerating problems in weaker ones.
#AI #TeamDynamics #Development
livsycode.com/best-practic...
Need to extract text from images on-device? Explore Apple's 𝘝𝘪𝘴𝘪𝘰𝘯 framework and its evolution from completion handlers to 𝘢𝘴𝘺𝘯𝘤/𝘢𝘸𝘢𝘪𝘵.
#VisionFramework #iOS #NLP
danielsaidi.com/blog/2026/01...
Need to extract text from images on-device? Explore Apple's 𝘝𝘪𝘴𝘪𝘰𝘯 framework and its evolution from completion handlers to 𝘢𝘴𝘺𝘯𝘤/𝘢𝘸𝘢𝘪𝘵.
#VisionFramework #iOS #NLP
danielsaidi.com/blog/2026/01...
Building a real Apple Music player with 𝘔𝘶𝘴𝘪𝘤𝘒𝘪𝘵 isn't straightforward. Navigate subscription checks, playback state, and the gotchas that trip developers up.
#MusicKit #SwiftUI #iOS
www.wesleymatlock.com/musickit-in-...
Building a real Apple Music player with 𝘔𝘶𝘴𝘪𝘤𝘒𝘪𝘵 isn't straightforward. Navigate subscription checks, playback state, and the gotchas that trip developers up.
#MusicKit #SwiftUI #iOS
www.wesleymatlock.com/musickit-in-...