Right now, apps have to carry a copy of the Swift 4 libraries, right? And after the first version of mac/i/tv-OS with Swift 5, the system will include a Swift 5 shared library and apps written to that will just refer to the system copy, right? Will there be an in-app copy of the Swift 5 libraries available, so apps that target older OSes can use Swift 5 the same way they use Swift 4?
I ask this because I'm wondering how it will scale with later versions of Swift. Let's say that after Swift 5 is released and all of Apple's OSes include a Swift 5 shared library, we add new features. Xcode Y gets Swift 6 with async
/await
support. Then Xcode Y+1 comes out with Swift 7 which adds fixed-sized array support. Then the next versions of Apple's OSes are released with a Swift 5/6/7 shared library.
Now let's say I make a new app that uses asynchronicity and FSAs. Will there be a in-app library that includes everything up to Swift 7 that I can deploy all the way back to Swift-4-era systems? Or will there be an in-app library that only includes the Swift 6 and 7 stuff and assumes that the Swift 5 shared library will exist, and therefore I can only deploy back to the first systems with the S5SL? Or am I limited to just the systems with the Swift 5/6/7 shared library? Or can I choose which one of these levels to support?