RSSAmplifier

Blog

Dev blog post potpourri by senior software engineer Marco Eidinger

Blog posts covering a variety of programming topics (Swift, iOS, ...) written by senior software engineer Marco Eidinger

blog.eidinger.infoRSS feed ↗20 posts

Latest posts

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

All new frameworks presented at WWDC25

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

My WWDC25 Week: Events, Meetups, and Where to Find Me

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

You better increase URLCache size

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

All new frameworks presented at WWDC24

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

SwiftUI Bottom Sheet: How to Hide Unwanted UI Components

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

Get the biometric authentication prompt for protected keychain items in the iOS simulator

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

A new access modifier in Swift: package

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

How to verify a signed xcframework programmatically

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

Ensure safe code in your iOS app extensions

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

Awesome newsletters for iOS and Swift developers in 2024

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

Develop and test OpticID for Vision Pro

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

How to check if you use a required reason API

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 embraces Swift and provides code analysis, security alerts and dependency updates for Swift projects

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

URL extraction for hostname, domain, subdomain and tld in Swift

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

Why is it so damn difficult to create a binary framework for your Swift Package

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

Inspect Web Content on iOS 16.4+

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

Using Swift packages with authentication in Xcode Cloud

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

Generate RESTful APIs with Swift in 2023

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

All new frameworks presented at WWDC23

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