Snapp iOS Weekly's Avatar

Snapp iOS Weekly

@snappiosweekly.bsky.social

Weekly Swift & iOS dev insights from @snappmobile.bsky.social ๐Ÿ“ฌ https://ios-newsletter.snappmobile.io/subscribe.html

247 Followers  |  2,257 Following  |  424 Posts  |  Joined: 30.05.2025  |  1.7007

Latest posts by snappiosweekly.bsky.social on Bluesky

Yes! Custom skills - whether per project or global - already go a long way in boosting productivity and enforcing good practices. By โ€œexisting systemsโ€ do you mean existing skills? If so, most can probably be ported over with some adaptation. If all else fails, your agent can always figure it out ๐Ÿ˜…

17.02.2026 11:24 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Agentic coding in Xcode Apple has finally released Xcode 26.3, which now supports agentic coding. In this article, Iโ€™ll guide you through configuring Xcode 26.3 and utilizing the latest best practices when using agenticโ€ฆ

๐Ÿค– ๐ด๐‘”๐‘’๐‘›๐‘ก๐‘–๐‘ ๐‘๐‘œ๐‘‘๐‘–๐‘›๐‘” ๐‘–๐‘› ๐‘‹๐‘๐‘œ๐‘‘๐‘’ by Majid Jabrayilov (@mecid.bsky.social)

Quick starter on Xcode 26.3's new AI capabilities. Learn how to add custom skills to extend your agentic workflow.

#Xcode #AI #iOSDev

swiftwithmajid.com/2026/02/10/a...

17.02.2026 08:22 โ€” ๐Ÿ‘ 4    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
isolated(any) and #isolation - Letting Swift Closures Automatically Inherit Isolation While Swift 6.2's Default Actor Isolation simplifies concurrency, the compiler sometimes fails to infer closure execution contexts, leading to unexpected errors. This article explores a practicalโ€ฆ

๐Ÿ”’ ๐‘–๐‘ ๐‘œ๐‘™๐‘Ž๐‘ก๐‘’๐‘‘(๐‘Ž๐‘›๐‘ฆ) ๐‘Ž๐‘›๐‘‘ #๐‘–๐‘ ๐‘œ๐‘™๐‘Ž๐‘ก๐‘–๐‘œ๐‘› by Xu Yang (@fatbobman.com)

Learn how @๐‘–๐‘ ๐‘œ๐‘™๐‘Ž๐‘ก๐‘’๐‘‘(๐‘Ž๐‘›๐‘ฆ) and #๐‘–๐‘ ๐‘œ๐‘™๐‘Ž๐‘ก๐‘–๐‘œ๐‘› let closures automatically inherit their execution context from callers.

#Swift #Concurrency

fatbobman.com/en/posts/let...

16.02.2026 14:33 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
@_exported import VS public import Swift 6 introduced a new feature called "Access level imports". With [SE-0409](https://github.com/swiftlang/swift-evolution/blob/main/proposals/0409-access-level-on-imports.md) you can attach accessโ€ฆ

๐Ÿ“ฆ @_๐‘’๐‘ฅ๐‘๐‘œ๐‘Ÿ๐‘ก๐‘’๐‘‘ ๐‘–๐‘š๐‘๐‘œ๐‘Ÿ๐‘ก ๐‘‰๐‘† ๐‘๐‘ข๐‘๐‘™๐‘–๐‘ ๐‘–๐‘š๐‘๐‘œ๐‘Ÿ๐‘ก by Alexander Weiss

Swift 6 brings six access levels for imports. Compare re-exporting symbols as your own vs declaring public dependencies.

#Swift #Swift6

alexanderweiss.dev/blog/2026-01...

16.02.2026 08:22 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Snapp iOS Weekly | Subscription I agree to receive your newsletters and accept the data privacy statement.

Huge gratitude to authors:
Alexander Weiss, @fatbobman.com, @mecid.bsky.social, Peter Friese, Giselle Katics, Josh Steele, Kyle Ye.

Never miss an issue โ†’ subscribe: ios-newsletter.snappmobile.io/subscribe

13.02.2026 15:01 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

๐Ÿ“ฑ Issue #79 is out!

This week's lineup:
๐Ÿ“ฆ @_๐‘’๐‘ฅ๐‘๐‘œ๐‘Ÿ๐‘ก๐‘’๐‘‘ ๐‘ฃ๐‘  ๐‘๐‘ข๐‘๐‘™๐‘–๐‘ ๐‘–๐‘š๐‘๐‘œ๐‘Ÿ๐‘ก
๐Ÿ”’ ๐‘–๐‘ ๐‘œ๐‘™๐‘Ž๐‘ก๐‘’๐‘‘(๐‘Ž๐‘›๐‘ฆ) & #๐‘–๐‘ ๐‘œ๐‘™๐‘Ž๐‘ก๐‘–๐‘œ๐‘›
๐Ÿค– ๐ด๐‘”๐‘’๐‘›๐‘ก๐‘–๐‘ ๐‘๐‘œ๐‘‘๐‘–๐‘›๐‘” ๐‘–๐‘› ๐‘‹๐‘๐‘œ๐‘‘๐‘’
๐Ÿ’Ž ๐‘‹๐‘๐‘œ๐‘‘๐‘’ + ๐บ๐‘’๐‘š๐‘–๐‘›๐‘– ๐ถ๐ฟ๐ผ
๐ŸŽจ ๐ต๐‘Ÿ๐‘Ž๐‘›๐‘‘๐‘–๐‘›๐‘” ๐‘ค๐‘–๐‘กโ„Ž ๐ด๐ผ
๐Ÿ’พ ๐‘†๐‘ค๐‘–๐‘“๐‘ก๐ท๐‘Ž๐‘ก๐‘Ž ๐‘„๐‘ข๐‘–๐‘๐‘˜๐‘ ๐‘ก๐‘Ž๐‘Ÿ๐‘ก
๐Ÿ› ๐‘๐‘†๐‘ˆ๐‘ ๐‘’๐‘Ÿ๐ด๐‘๐‘ก๐‘–๐‘ฃ๐‘–๐‘ก๐‘ฆ ๐ท๐‘’๐‘๐‘ข๐‘”
๐Ÿ› ๏ธ ๐‘‹๐‘๐‘œ๐‘‘๐‘’๐ต๐‘ข๐‘–๐‘™๐‘‘๐‘€๐ถ๐‘ƒ

#Swift #iOSDev

ios-newsletter.snappmobile.io/issues/2026-...

13.02.2026 15:01 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 1
Preview
A visual cheat sheet of Combine operators This article provides a visual cheat sheet of common Combine operators, with a diagram for each one to illustrate how values flow through a pipeline.

๐Ÿ“Š ๐ด ๐‘ฃ๐‘–๐‘ ๐‘ข๐‘Ž๐‘™ ๐‘โ„Ž๐‘’๐‘Ž๐‘ก ๐‘ โ„Ž๐‘’๐‘’๐‘ก ๐‘œ๐‘“ ๐ถ๐‘œ๐‘š๐‘๐‘–๐‘›๐‘’ ๐‘œ๐‘๐‘’๐‘Ÿ๐‘Ž๐‘ก๐‘œ๐‘Ÿ๐‘  by Natascha Fadeeva

Need a quick reference for ๐ถ๐‘œ๐‘š๐‘๐‘–๐‘›๐‘’ operators? A visual cheat sheet with diagrams shows how values flow through each operator.

#Combine #Swift #Framework #iOSDev

tanaschita.com/combine-oper...

12.02.2026 15:01 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
From Pixel Capture to Metadata - Reimagining Screen Recording Architecture on macOS Build a macOS screen recorder with ScreenSage Pro's dev log. Learn to master ScreenCaptureKit, Metal, fix SCK error -3821, and optimize SwiftUI performance with @Observable.

๐ŸŽฅ ๐น๐‘Ÿ๐‘œ๐‘š ๐‘ƒ๐‘–๐‘ฅ๐‘’๐‘™ ๐ถ๐‘Ž๐‘๐‘ก๐‘ข๐‘Ÿ๐‘’ ๐‘ก๐‘œ ๐‘€๐‘’๐‘ก๐‘Ž๐‘‘๐‘Ž๐‘ก๐‘Ž: ๐‘…๐‘’๐‘–๐‘š๐‘Ž๐‘”๐‘–๐‘›๐‘–๐‘›๐‘” ๐‘†๐‘๐‘Ÿ๐‘’๐‘’๐‘› ๐‘…๐‘’๐‘๐‘œ๐‘Ÿ๐‘‘๐‘–๐‘›๐‘” ๐ด๐‘Ÿ๐‘โ„Ž๐‘–๐‘ก๐‘’๐‘๐‘ก๐‘ข๐‘Ÿ๐‘’ ๐‘œ๐‘› ๐‘š๐‘Ž๐‘๐‘‚๐‘† by Xu Yang (@fatbobman.com)

Building a macOS screen recorder exposes surprising pitfalls - from ๐‘†๐‘๐‘Ÿ๐‘’๐‘’๐‘›๐ถ๐‘Ž๐‘๐‘ก๐‘ข๐‘Ÿ๐‘’๐พ๐‘–๐‘ก errors to Metal composition. Discover the architecture decisions that make it work.

#macOS

12.02.2026 08:01 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
On-demand resources in iOS app On-Demand Resources allow you to ship a smaller initial app download and fetch additional assets like images, sounds, level data, ML models, and more only when a user requires them. This week, weโ€™llโ€ฆ

๐Ÿ“ฆ ๐‘‚๐‘›-๐‘‘๐‘’๐‘š๐‘Ž๐‘›๐‘‘ ๐‘Ÿ๐‘’๐‘ ๐‘œ๐‘ข๐‘Ÿ๐‘๐‘’๐‘  ๐‘–๐‘› ๐‘–๐‘‚๐‘† ๐‘Ž๐‘๐‘ by Majid Jabrayilov (@mecid.bsky.social)

Ever thought about keeping API tokens out of your app binary? On-Demand Resources offer a clever defense-in-depth technique worth exploring.

#iOS #Security #Swift #Framework

swiftwithmajid.com/2026/02/03/o...

11.02.2026 15:05 โ€” ๐Ÿ‘ 2    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
From broken to testable SwiftUI navigation: The decoupled approach of MVVM with coordinators SwiftUI provides several tools for managing navigation, and the introduction of NavigationStack and value-destination links improved programmatic navigation. However, in larger applications, vanillaโ€ฆ

๐Ÿงช ๐น๐‘Ÿ๐‘œ๐‘š ๐‘๐‘Ÿ๐‘œ๐‘˜๐‘’๐‘› ๐‘ก๐‘œ ๐‘ก๐‘’๐‘ ๐‘ก๐‘Ž๐‘๐‘™๐‘’ ๐‘†๐‘ค๐‘–๐‘“๐‘ก๐‘ˆ๐ผ ๐‘›๐‘Ž๐‘ฃ๐‘–๐‘”๐‘Ž๐‘ก๐‘–๐‘œ๐‘›: ๐‘‡โ„Ž๐‘’ ๐‘‘๐‘’๐‘๐‘œ๐‘ข๐‘๐‘™๐‘’๐‘‘ ๐‘Ž๐‘๐‘๐‘Ÿ๐‘œ๐‘Ž๐‘โ„Ž ๐‘œ๐‘“ ๐‘€๐‘‰๐‘‰๐‘€ ๐‘ค๐‘–๐‘กโ„Ž ๐‘๐‘œ๐‘œ๐‘Ÿ๐‘‘๐‘–๐‘›๐‘Ž๐‘ก๐‘œ๐‘Ÿ๐‘  by Matteo Manferdini

Scattered navigation logic breaking your tests? Centralizing routing with coordinators makes navigation testable and scalable.

#SwiftUI #Testing #Architecture #MVVM

11.02.2026 08:01 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Transforming Glass Views with the glassEffectID in SwiftUI โ€“ SerialCoder.dev SerialCoder.dev

โœจ ๐‘‡๐‘Ÿ๐‘Ž๐‘›๐‘ ๐‘“๐‘œ๐‘Ÿ๐‘š๐‘–๐‘›๐‘” ๐บ๐‘™๐‘Ž๐‘ ๐‘  ๐‘‰๐‘–๐‘’๐‘ค๐‘  ๐‘ค๐‘–๐‘กโ„Ž ๐‘กโ„Ž๐‘’ ๐‘”๐‘™๐‘Ž๐‘ ๐‘ ๐ธ๐‘“๐‘“๐‘’๐‘๐‘ก๐ผ๐ท ๐‘€๐‘œ๐‘‘๐‘–๐‘“๐‘–๐‘’๐‘Ÿ ๐‘–๐‘› ๐‘†๐‘ค๐‘–๐‘“๐‘ก๐‘ˆ๐ผ by Gabriel Theodoropoulos

Want to create smooth morphing transitions between glass-effect views? Master the ๐‘”๐‘™๐‘Ž๐‘ ๐‘ ๐ธ๐‘“๐‘“๐‘’๐‘๐‘ก๐ผ๐ท modifier for seamless visual effects.

#SwiftUI #UI #iOSDev

serialcoder.dev/text-tutoria...

10.02.2026 15:04 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Dark Mode - Wesley de Groot Dark Mode is an important feature that many users appreciate for its aesthetic appeal, and for people with visual impairments. In this blog post, we'll explore how to implement Dark Mode in your iOSโ€ฆ

๐ŸŒ™ ๐ท๐‘Ž๐‘Ÿ๐‘˜ ๐‘€๐‘œ๐‘‘๐‘’ by Wesley De Groot (@0xwdg.bsky.social)

Need to implement Dark Mode in your SwiftUI app? Explore automatic support, custom views with ๐ธ๐‘›๐‘ฃ๐‘–๐‘Ÿ๐‘œ๐‘›๐‘š๐‘’๐‘›๐‘ก, and forcing specific interface styles.

#SwiftUI #DarkMode #iOSDev #Swift

wesleydegroot.nl/blog/dark-mode

10.02.2026 08:00 โ€” ๐Ÿ‘ 3    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
How to Use LLM as a Judge (Without Getting Burned) TL;DR: LLM as a judge works well when you (1) use reference based evaluation over pointwise scoring, (2) debias pairwise comparisons by swapping positions, (3) ensemble across multiple models, (4)โ€ฆ

๐Ÿค– ๐ป๐‘œ๐‘ค ๐‘ก๐‘œ ๐‘ˆ๐‘ ๐‘’ ๐ฟ๐ฟ๐‘€ ๐‘Ž๐‘  ๐‘Ž ๐ฝ๐‘ข๐‘‘๐‘”๐‘’ (๐‘Š๐‘–๐‘กโ„Ž๐‘œ๐‘ข๐‘ก ๐บ๐‘’๐‘ก๐‘ก๐‘–๐‘›๐‘” ๐ต๐‘ข๐‘Ÿ๐‘›๐‘’๐‘‘) by Manthan Gupta

Can LLMs reliably evaluate other AI models? Discover how to build fair evaluation systems without burning your tokens.

#AI #MachineLearning #LLM #iOSDev

manthanguptaa.in/posts/llm_as...

09.02.2026 15:03 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
SwiftUI Agent Skill: Build better views with AI Explore the SwiftUI Agent Skill that transforms view building and refactoring. Improve your code with this open-source solution.

๐Ÿค– ๐‘†๐‘ค๐‘–๐‘“๐‘ก๐‘ˆ๐ผ ๐ด๐‘”๐‘’๐‘›๐‘ก ๐‘†๐‘˜๐‘–๐‘™๐‘™: ๐ต๐‘ข๐‘–๐‘™๐‘‘ ๐‘๐‘’๐‘ก๐‘ก๐‘’๐‘Ÿ ๐‘ฃ๐‘–๐‘’๐‘ค๐‘  ๐‘ค๐‘–๐‘กโ„Ž ๐ด๐ผ by Antoine van der Lee (@avanderlee.com)

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...

09.02.2026 08:01 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Thank you for a good content. Always a pleasure to share!

06.02.2026 15:14 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Snapp iOS Weekly | Subscription I agree to receive your newsletters and accept the data privacy statement.

Authors:
@avanderlee.com, Manthan Gupta, @0xwdg.bsky.social, Gabriel Theodoropoulos, Matteo Manferdini, @mecid.bsky.social, @fatbobman.com, Natascha Fadeeva.

Never miss an issue โ†’ subscribe: ios-newsletter.snappmobile.io/subscribe

06.02.2026 15:01 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

๐Ÿ“ฌ Issue 78 is out!

Fresh insights
๐Ÿค– ๐‘†๐‘ค๐‘–๐‘“๐‘ก๐‘ˆ๐ผ ๐ด๐‘”๐‘’๐‘›๐‘ก ๐‘†๐‘˜๐‘–๐‘™๐‘™
๐Ÿค– ๐ป๐‘œ๐‘ค ๐‘ก๐‘œ ๐‘ˆ๐‘ ๐‘’ ๐ฟ๐ฟ๐‘€ ๐‘Ž๐‘  ๐‘Ž ๐ฝ๐‘ข๐‘‘๐‘”๐‘’
๐ŸŒ™ ๐ท๐‘Ž๐‘Ÿ๐‘˜ ๐‘€๐‘œ๐‘‘๐‘’
โœจ ๐‘”๐‘™๐‘Ž๐‘ ๐‘ ๐ธ๐‘“๐‘“๐‘’๐‘๐‘ก๐ผ๐ท ๐‘€๐‘œ๐‘‘๐‘–๐‘“๐‘–๐‘’๐‘Ÿ ๐‘–๐‘› ๐‘†๐‘ค๐‘–๐‘“๐‘ก๐‘ˆ๐ผ
๐Ÿงช ๐‘‡๐‘’๐‘ ๐‘ก๐‘Ž๐‘๐‘™๐‘’ ๐‘†๐‘ค๐‘–๐‘“๐‘ก๐‘ˆ๐ผ ๐‘๐‘Ž๐‘ฃ๐‘–๐‘”๐‘Ž๐‘ก๐‘–๐‘œ๐‘›
๐Ÿ“ฆ ๐‘‚๐‘›-๐‘‘๐‘’๐‘š๐‘Ž๐‘›๐‘‘ ๐‘Ÿ๐‘’๐‘ ๐‘œ๐‘ข๐‘Ÿ๐‘๐‘’๐‘ 
๐ŸŽฅ ๐‘†๐‘๐‘Ÿ๐‘’๐‘’๐‘› ๐‘…๐‘’๐‘๐‘œ๐‘Ÿ๐‘‘๐‘–๐‘›๐‘” ๐ด๐‘Ÿ๐‘โ„Ž๐‘–๐‘ก๐‘’๐‘๐‘ก๐‘ข๐‘Ÿ๐‘’
๐Ÿ“Š ๐ถ๐‘œ๐‘š๐‘๐‘–๐‘›๐‘’ ๐‘‚๐‘๐‘’๐‘Ÿ๐‘Ž๐‘ก๐‘œ๐‘Ÿ๐‘ 

#Swift #SwiftUI

ios-newsletter.snappmobile.io/issues/2026-...

06.02.2026 15:01 โ€” ๐Ÿ‘ 3    ๐Ÿ” 2    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 1
Preview
Supporting JPEG-XL compression in Apple ProRAW Capture Pinpoint some trouble you may encounter when supporting JPEG-XL

๐Ÿ“ท ๐‘†๐‘ข๐‘๐‘๐‘œ๐‘Ÿ๐‘ก๐‘–๐‘›๐‘” ๐ฝ๐‘ƒ๐ธ๐บ-๐‘‹๐ฟ ๐‘๐‘œ๐‘š๐‘๐‘Ÿ๐‘’๐‘ ๐‘ ๐‘–๐‘œ๐‘› ๐‘–๐‘› ๐ด๐‘๐‘๐‘™๐‘’ ๐‘ƒ๐‘Ÿ๐‘œ๐‘…๐ด๐‘Š ๐ถ๐‘Ž๐‘๐‘ก๐‘ข๐‘Ÿ๐‘’ by Weichao Deng

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

05.02.2026 14:03 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
I Spent Way Too Long Getting Blender Animations into Vision Pro So hereโ€™s the thing about Apple Vision Pro development that nobody warns you about: getting animated 3D characters into your app is way harder than it should be.

๐Ÿฅฝ ๐ผ ๐‘†๐‘๐‘’๐‘›๐‘ก ๐‘Š๐‘Ž๐‘ฆ ๐‘‡๐‘œ๐‘œ ๐ฟ๐‘œ๐‘›๐‘” ๐บ๐‘’๐‘ก๐‘ก๐‘–๐‘›๐‘” ๐ต๐‘™๐‘’๐‘›๐‘‘๐‘’๐‘Ÿ ๐ด๐‘›๐‘–๐‘š๐‘Ž๐‘ก๐‘–๐‘œ๐‘›๐‘  ๐‘–๐‘›๐‘ก๐‘œ ๐‘‰๐‘–๐‘ ๐‘–๐‘œ๐‘› ๐‘ƒ๐‘Ÿ๐‘œ by Mike Bundy

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...

05.02.2026 08:00 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
DebugReplaceableView and Swift 6.2's Multiple Type Erasers | ็Ÿฅ้˜…็™พๅพฎ ่งๅพฎ็Ÿฅ่‘— How Swift 6.2 enabled multiple @_typeEraser attributes for SwiftUI's new debug optimization

โšก ๐ท๐‘’๐‘๐‘ข๐‘”๐‘…๐‘’๐‘๐‘™๐‘Ž๐‘๐‘’๐‘Ž๐‘๐‘™๐‘’๐‘‰๐‘–๐‘’๐‘ค ๐‘Ž๐‘›๐‘‘ ๐‘†๐‘ค๐‘–๐‘“๐‘ก 6.2'๐‘  ๐‘€๐‘ข๐‘™๐‘ก๐‘–๐‘๐‘™๐‘’ ๐‘‡๐‘ฆ๐‘๐‘’ ๐ธ๐‘Ÿ๐‘Ž๐‘ ๐‘’๐‘Ÿ๐‘  by Kyle Ye (@KyleYe@mastodon.world)

Why are Previews faster on iOS 26? Swift 6.2's multiple type erasers enable ๐ท๐‘’๐‘๐‘ข๐‘”๐‘…๐‘’๐‘๐‘™๐‘Ž๐‘๐‘’๐‘Ž๐‘๐‘™๐‘’๐‘‰๐‘–๐‘’๐‘ค to hot-swap views without rebuilds.

05.02.2026 05:57 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Non-Sendable First Design The easiest way to design concurrent systems in Swift was hiding in plain sight.

๐Ÿ”„ ๐‘๐‘œ๐‘›-๐‘†๐‘’๐‘›๐‘‘๐‘Ž๐‘๐‘™๐‘’ ๐น๐‘–๐‘Ÿ๐‘ ๐‘ก ๐ท๐‘’๐‘ ๐‘–๐‘”๐‘› by Matt Massicotte (@massicotte.org)

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...

04.02.2026 14:03 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Copy-on-write teaches you EVERYTHING about Swift Internals ๐Ÿฎ isKnownUniquelyReferenced through the standard library, compiler, and runtime

๐Ÿฎ ๐ถ๐‘œ๐‘๐‘ฆ-๐‘œ๐‘›-๐‘ค๐‘Ÿ๐‘–๐‘ก๐‘’ ๐‘ก๐‘’๐‘Ž๐‘โ„Ž๐‘’๐‘  ๐‘ฆ๐‘œ๐‘ข ๐ธ๐‘‰๐ธ๐‘…๐‘Œ๐‘‡๐ป๐ผ๐‘๐บ ๐‘Ž๐‘๐‘œ๐‘ข๐‘ก ๐‘†๐‘ค๐‘–๐‘“๐‘ก ๐ผ๐‘›๐‘ก๐‘’๐‘Ÿ๐‘›๐‘Ž๐‘™๐‘  by Jacob Bartlett (@jacobstechtavern.com)

Trace ๐‘–๐‘ ๐พ๐‘›๐‘œ๐‘ค๐‘›๐‘ˆ๐‘›๐‘–๐‘ž๐‘ข๐‘’๐‘™๐‘ฆ๐‘…๐‘’๐‘“๐‘’๐‘Ÿ๐‘’๐‘›๐‘๐‘’๐‘‘() from Standard Library through AST, SIL, and LLVM IR to Swift Runtime - how CoW works at every compiler layer.

#Swift #CompilerTheory #iOSDevelopment

04.02.2026 08:00 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Rendering Markdown in SwiftUI Learn how to render Markdown in SwiftUI using Text and AttributedString

๐Ÿ“ ๐‘…๐‘’๐‘›๐‘‘๐‘’๐‘Ÿ๐‘–๐‘›๐‘” ๐‘€๐‘Ž๐‘Ÿ๐‘˜๐‘‘๐‘œ๐‘ค๐‘› ๐‘–๐‘› ๐‘†๐‘ค๐‘–๐‘“๐‘ก๐‘ˆ๐ผ by Artem Novichkov

๐‘†๐‘ค๐‘–๐‘“๐‘ก๐‘ˆ๐ผ 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...

03.02.2026 08:01 โ€” ๐Ÿ‘ 3    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Reverse masking in SwiftUI using blend modes โ†’ Livsy Code Greetings, traveler! SwiftUI gives us mask(_:), which works well when you want to reveal part of a view. What it does not give us is the inverse version โ€” a way to cut shapes out of a view and letโ€ฆ

๐ŸŽจ ๐‘…๐‘’๐‘ฃ๐‘’๐‘Ÿ๐‘ ๐‘’ ๐‘š๐‘Ž๐‘ ๐‘˜๐‘–๐‘›๐‘” ๐‘–๐‘› ๐‘†๐‘ค๐‘–๐‘“๐‘ก๐‘ˆ๐ผ ๐‘ข๐‘ ๐‘–๐‘›๐‘” ๐‘๐‘™๐‘’๐‘›๐‘‘ ๐‘š๐‘œ๐‘‘๐‘’๐‘  by Artem Mirzabekian

Need to cut transparent holes through surfaces in ๐‘†๐‘ค๐‘–๐‘“๐‘ก๐‘ˆ๐ผ? Implement reverse masking using blend modes and ๐‘๐‘œ๐‘š๐‘๐‘œ๐‘ ๐‘–๐‘ก๐‘–๐‘›๐‘”๐บ๐‘Ÿ๐‘œ๐‘ข๐‘().

#SwiftUI #iOSDevelopment

livsycode.com/swiftui/reve...

02.02.2026 14:03 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
AI App Development: What I Learned in One Month Dive into my journey of AI App Development, where I rapidly transformed an idea into a thriving app using powerful AI tools.

๐Ÿค– ๐ด๐ผ ๐ด๐‘๐‘ ๐ท๐‘’๐‘ฃ๐‘’๐‘™๐‘œ๐‘๐‘š๐‘’๐‘›๐‘ก: ๐‘Šโ„Ž๐‘Ž๐‘ก ๐ผ ๐ฟ๐‘’๐‘Ž๐‘Ÿ๐‘›๐‘’๐‘‘ ๐‘–๐‘› ๐‘‚๐‘›๐‘’ ๐‘€๐‘œ๐‘›๐‘กโ„Ž by Antoine van der Lee (@avanderlee.com)

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

02.02.2026 08:00 โ€” ๐Ÿ‘ 2    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Snapp iOS Weekly | Subscription I agree to receive your newsletters and accept the data privacy statement.

Authors: @avanderlee.com, Artem Mirzabekian, Artem Novichkov, Kyle Ye, @jacobstechtavern.com, @massicotte.org, Mike Bundy, Weichao Deng.

Never miss an issue โ†’ subscribe: ios-newsletter.snappmobile.io/subscribe

30.01.2026 15:00 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
iOS Newsletter Issue 77 Hi folks!

Fresh satisfying redesign ๐ŸŽจ

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

30.01.2026 15:00 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 1
Preview
Modularity as an Architectural Choice โ†’ Livsy Code Greetings, traveler! Modularity is an architectural approach where a codebase is split into well-defined, independent units with explicit responsibilities and boundaries. Each module exposes a clearโ€ฆ

๐Ÿงฉ ๐‘€๐‘œ๐‘‘๐‘ข๐‘™๐‘Ž๐‘Ÿ๐‘–๐‘ก๐‘ฆ ๐‘Ž๐‘  ๐‘Ž๐‘› ๐ด๐‘Ÿ๐‘โ„Ž๐‘–๐‘ก๐‘’๐‘๐‘ก๐‘ข๐‘Ÿ๐‘Ž๐‘™ ๐ถโ„Ž๐‘œ๐‘–๐‘๐‘’ by Artem Mirzabekian

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...

30.01.2026 08:01 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Why VIPER and MVVM in SwiftUI are actually the same pattern: A lesson in architectural thinking Architectural design patterns like VIPER might seem radically different from common ones like MVVM. However, upon deeper inspection, it turns out that these patterns share the same constitutiveโ€ฆ

๐Ÿ—๏ธ ๐‘Šโ„Ž๐‘ฆ ๐‘‰๐ผ๐‘ƒ๐ธ๐‘… ๐‘Ž๐‘›๐‘‘ ๐‘€๐‘‰๐‘‰๐‘€ ๐‘–๐‘› ๐‘†๐‘ค๐‘–๐‘“๐‘ก๐‘ˆ๐ผ ๐‘Ž๐‘Ÿ๐‘’ ๐‘Ž๐‘๐‘ก๐‘ข๐‘Ž๐‘™๐‘™๐‘ฆ ๐‘กโ„Ž๐‘’ ๐‘ ๐‘Ž๐‘š๐‘’ by Matteo Manferdini

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

29.01.2026 15:03 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
A Deep Dive into SwiftData migrations โ€“ Donny Wals SwiftData migrations are one of those things that feel optionalโ€ฆ right until you ship an update and real users upgrade with real data on disk. In this post weโ€™ll dig into: By the end of this post youโ€ฆ

๐Ÿ’พ ๐ด ๐ท๐‘’๐‘’๐‘ ๐ท๐‘–๐‘ฃ๐‘’ ๐‘–๐‘›๐‘ก๐‘œ ๐‘†๐‘ค๐‘–๐‘“๐‘ก๐ท๐‘Ž๐‘ก๐‘Ž ๐‘š๐‘–๐‘”๐‘Ÿ๐‘Ž๐‘ก๐‘–๐‘œ๐‘›๐‘  by Donny Wals (@donnywals.bsky.social)

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-...

29.01.2026 08:00 โ€” ๐Ÿ‘ 4    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

@snappiosweekly is following 19 prominent accounts