All new frameworks presented at WWDC26
WWDC26 kicked off on June 8, 2026. The information in this article reflects the information published by Apple on that date. There are 14 new frameworks. Name Description AccessoryAccess Manage
Blog posts covering a variety of programming topics (Swift, iOS, ...) written by senior software engineer Marco Eidinger
WWDC26 kicked off on June 8, 2026. The information in this article reflects the information published by Apple on that date. There are 14 new frameworks. Name Description AccessoryAccess Manage
WWDC25 kicked off on June 9, 2025. The information in this article reflects the information published by Apple on that date. New Frameworks NameDescription AlarmKitSchedule prominent alarms and countdowns to help people manage their time. AVR...
WWDC25 is almost here, and I couldn’t be more excited! Whether you're attending the official events, community meetups, or just soaking in the energy around Cupertino, there’s no better time to connect, share ideas, and celebrate everything we love a...
In this blog post, I’ll share an observation and advice regarding the caching behavior of network responses by Apple’s APIs. If you are unfamiliar with caching of network responses then I recommend Apple’s article Accessing cached data that introduce...
WWDC24 kicked off on June 10, 2024. The information in this article reflects the information published by Apple on that date. New Frameworks NameDescription AccessorySetupKitUse AccessorySetupKit to discover accessories with Bluetooth or Wi-Fi...
This blog post will explain alternatives for programmatically determining a presented sheet's detent in SwiftUI. To present a bottom sheet on iOS is very easy with SwiftUI thanks to the sheet and presentationDetents modifiers. To turn a normal sheet...
In this blog post, I'll recap how to protect a keychain item with biometric authentication. Then, I'll show how you can ensure you get a prompt for biometric authentication in the iOS simulator. In a previous blog post, I explained that Apple's Local...
In this blog post, I'll explain when and where you can use Swift's new package access modifier. I'll also give an outlook on plans from Apple to extend its usefulness for closed-code enterprise SDKs. Recap: access modifiers you already know Up until ...
In this blog post, I'll explain how you can programmatically verify a binary framework (.xcframework file). This can help determine build/archive issues on a CI machine related to error: signature-collection failed: The operation couldn’t be complete...
In this blog post, I'll explain the "Require Only App-Extension-Safe API" (APPLICATION_EXTENSION_API_ONLY) build setting in Swift, when and why to use it, and its consequences when generating API documentation. Whether you implement a widget, share, ...
Happy New Year! It's the start of 2024, and I thought I would share an update of my personal favorites of actively maintained and well-curated newsletters. Two years ago, I shared eight newsletters, including one that I published at that time ("Open ...
In this blog post, I'll explain how you, a Swift developer, can leverage Optic ID for authentication and how to test OpticID in the Vision Pro simulator. Optic ID is a new, secure biometric system to authenticate Apple headset users. But this should ...
In this blog post, I'll share a shell script that helps you to identify if your code base might use a required reason API. What are "required reason APIs" Apple classified several APIs that can be misused to access device signals to try to identify t...
GitHub released significant updates for Swift developers this summer. Swift is now supported for the following GitHub tools: CodeQL: semantic code analysis to detect security vulnerabilities Dependabot: security alerts and dependency updates Code...
How difficult can it be to parse an HTTP link to identify and extract individual components like its subdomain or top-level domain? Giving the example http://super.duper.domain.co.uk how would you know that super.duper is the subdomain and co.uk is ...
Swift Package Manager (SPM) allows you to Share source code (open-source) Distribute binaries to protect your intellectual property (closed source) Unfortunately, SPM does not help you to create a precompiled binary version of your package produc...
Before iOS 16.4 developers were able to attach the Web Inspector to inspect content running in WKWebView and JSContext for a developer-provisioned app built directly from Xcode for local development. With iOS 16.4+ this is no longer possible. In your...
Third-party SDKs may use Swift packages to vent their binary frameworks from a server that requires authentication. In Xcode Cloud you will encounter the error Could not resolve package dependencies: failed downloading ... if you don't provide the ne...
In this blog post, I describe my experience using Swift OpenAPI Generator to generate a fully functional client API. Previously I wrote an article on how to leverage OpenAPI and other open-source tools to generate a client API in Swift and how to tes...
WWDC23 kicked-off on June 5, 2023. The information in this article reflects the information published by Apple on that date. New Frameworks NameDescription CinematicThe Cinematic framework enables you to add professional-level editing and play...