Embracing new API's whilst retaining backwards compatibility

Swift Developer Podcast - App development and discussion - A podcast by Peter Witham

Categories:

This week, I delved into whether to embrace or avoid new APIs in Apple's upcoming operating systems. I encountered a few challenges while working on my Mac iOS app, which I aimed to have a modern look. Inspired by Apple developer videos, I wanted to incorporate features like a navigation split view and fancy backgrounds, similar to the design of CleanMyMac.However, I hit a snag when they were in a part of the app's window. Even AI couldn't solve it. Finally, I found a solution in a video on the Apple developer portal, which involved using modifiers only available in macOS 15. Faced with a choice, I implemented conditional code to keep compatibility with macOS 14 while enabling new features for macOS 15 and beyond.Using conditional code, such as #if available(macOS 15, *), I can target specific OS versions and ensure my app remains functional across different versions without cutting off users. This technique can be applied to various scenarios, not just API availability, making it a versatile tool.Become a Patreon member and help this Podcast survivehttps://www.patreon.com/compileswiftPlease leave a review and show your supporthttps://lovethepodcast.com/compileswiftFollow me on Mastodonhttps://iosdev.space/@Compileswift Thanks to our monthly supporters Tung Vo Adam Wulf bitSpectre Arclite ★ Support this podcast on Patreon ★