If you're building something for iOS 17 and macOS Sonoma (**cough** interactive widgets **cough**), here's something to think about:

It's highly likely that iOS will be released before macOS (typically a month or so). That means you'll be able submit builds created with Xcode 15 for only one of your two platforms.

Now would be a good time to open your macOS project in Xcode 14 and figure out what's broken. Avoid panic for bug fixes or model changes you want to get out on iOS release day…

And when you see broken stuff in Xcode 14, I hope it's nothing to do with protocols. The only solution I've found for a change is this:

#if OLD_PROTOCOLS
extension MyThing: OldProtocol {
}
#else
extension MyThing: NewProtocol {
}
#endif

Ewww…

(#available doesn't work at top-level, @available needs symbol.)

https://mastodon.social/@chockenberry/110890515845065228

The solution to this, of course, is for Apple to accept submissions for ANY PLATFORM with the latest Xcode as soon as ANY PLATFORM needs the latest version.

With so many APIs and improvements being available across platforms, restricting distribution hurts everyone (customers, Apple, and us developers).

@chockenberry The other solution would be for them to not rush their development plans so badly that they can’t release all platforms on the same day.