Hi folks,
This week marks a turning point for Swift and iOS development alike. Swift 6.3 arrives as one of the most ambitious releases in the language’s history, officially bringing Swift to Android for the first time with a dedicated SDK — meaning the same code you write for iOS can now target the world’s most popular mobile platform.
Meanwhile, Steve Troughton-Smith’s month-long experiment with OpenAI’s Codex suggests we’re witnessing something bigger than any single language update: after shipping multiple production apps across iOS, Android, and Windows using nothing but AI-assisted coding, he calls it a “permanent, irreversible abstraction level shift”.
Together, these developments point to a future where platform boundaries blur and AI becomes as essential as a compiler — a theme that runs through this issue’s coverage of the new version of Xcode, it’s new compilation cache, and practical guides to passkeys and SwiftData relationships.
Enjoy!
Articles
Swift
Swift 6.3 Released
Swift 6.3 expands Swift into new domains and improves developer ergonomics across the board. This release introduces the @c attribute for exposing Swift functions and enums to C code, module name selectors for disambiguating imported APIs, and new performance control attributes for library authors.
It also includes a preview of Swift Build integrated into Swift Package Manager, SwiftTesting improvements, DocC enhancements, and most notably marks the first official Swift SDK for Android. Embedded Swift also receives significant improvements in C interoperability and debugging support.
Xcode 26 Compilation Cache
Xcode 26 introduces Compilation Cache, a feature designed to stop repeating work that has already been done. Unlike DerivedData (which is treated as disposable), compilation cache stores results more intentionally and reusably. Enable it by setting COMPILATION_CACHE_ENABLE_CACHING = YES. The biggest benefits appear in three scenarios: branch switching (avoiding recompilation of unchanged modules), clean builds that reuse cached artifacts, and high-churn CI environments.
AI/ML
A Month With OpenAI’s Codex
The author spent a month battle-testing Codex 5.3, describing it as a “permanent, irreversible abstraction level shift” in software development. Over four weeks, he used Codex to prototype multiplatform UIKit apps in Xcode 26.3, debug complex problems in a 70,000-line codebase, convert an entire Objective-C project to Swift in one shot, port an iOS app to Android, convert a Unity3D game to SpriteKit, and begin a full-fat port of his Pastel app to Windows using the Windows App SDK with Win32 features. He shipped multiple production-quality apps during this experiment, spending only 7% of his monthly quota per app. The key insight: “I could not have done this without the AI, the AI could not have done this without me.”
macOS
In Defense of macOS Tahoe’s menu icons
macOS Tahoe’s SF Symbols menu icons, while criticized as “a crime against user interface design”, may offer accessibility benefits. One big omission is that the Hover Text utility doesn’t currently include the menu icons in its enlarged tooltip — a missed opportunity for consistency. The author suggests that Apple should either roll back the change in macOS 27 or provide a proper setting to disable the icons for those who find them distracting.
Security
Implementing Passkeys in iOS with AuthenticationServices
A practical introduction to implementing passwordless authentication using passkeys on iOS. Passkeys use public-key cryptography with a private key stored securely on the user’s device (synced via iCloud Keychain) and a public key stored on the server. The article covers the two main flows - registration and authentication through a neat set of on-point examples. An instant bookmark.
Data
Inferred vs explicit relationships
SwiftData relationships can be either inferred from model structure or made explicit using the @Relationship macro. They are inferred automatically only when it’s safe to do so, specifically when the relationship is optional (preventing crashes from setting non-optional values to nil). You can discover more in the article, but we really liked the advice to specify the inverse relationship on only one side to avoid circular reference errors.
CDE: An Attempt to Make Core Data Feel More Like Modern Swift
Core Data still powers many apps, but its API feels dated alongside modern Swift. An experimental toolkit bridges that gap with macros, actor isolation, and type-safe predicates. The project also includes testing utilities, a CLI tool for code generation and validation, and complementary tools like PersistentHistoryTrackingKit and iCloudSyncStatusKit for cloud sync scenarios.
Tools
LidAngleSensor
This entry links to a macOS utility that reads and displays the lid angle sensor values. Introduced with the 2019 16-inch MacBook Pro, the sensor detects the angle of the laptop lid. The app optionally plays a wooden door creaking sound when adjusting the lid slowly. Compatible with M4 MacBook Pro and newer Intel models, but does NOT work on M1/M2 devices.