| I'm surprised that Apple didn't opt for a hybrid approach. They control the OS. They also control Swift. So why not embed the Swift version that the app was built against, and then download that swift version to the user's device when they download an app that uses it. Then: - The app runs against the exact Swift version it was built against - The app size is smaller because you're no longer shipping the Swift libraries with the app - The impact on the user's device space is minimized since it only downloads each version of Swift once (to be shared by all apps that use that version), and only on demand. - If a new version of Swift comes out before an OS upgrade, simply add it to the list. It gets downloaded the same as the rest. They could even add some predictive Swift downloading for the most popular versions of Swift to avoid unnecessary delays downloading it. |