Swift 5.7 and iOS Deployment target

Is there somewhere official that lists what features of Swift 5.7 require iOS 16 runtime support? I know for example Regex's do but not sure what else and can't find any official information on it. eg if I use any and compile with the iOS 16 SDK but have a deployment target of iOS 14, will that cause issues for iOS 14 users and will it error at build time that the deployment target is too low?

(Also would testing on the iOS 14 simulator bring up those issues, or would it only affect devices?)

Using features that are not available for your deployment target should always be a build time error, not a runtime error. If it builds, that means that you're not using features that are unavailable on the targeted platform. It may be a problem for you (in that you have to work around a missing feature), but it should never be a problem for your users (if the code compiled while targeting their platform, it will run).

6 Likes

Thanks, I thought I’d read somewhere there were some issues with certain uses of ‘any’ and also concurrency on iOS 14. but good to know the compiler will prevent it.