提交应用的可接受的Swift版本是什么?
从2019年3月27日开始,所有提交到App Store的iOS应用程序都需要使用iOS 12.1 SDK或更高版本,并且支持iPhone XS Max或12.9英寸iPad Pro(第三代)的全屏设计。所有watchOS应用程序都需要支持watchOS 5和Apple Watch Series 4。
这意味着在2019年3月27日之后提交到App Store的任何应用程序都需要使用iOS 12.1 SDK或更高版本。根据Xcode维基页中提到的,Xcode 10.1中包含的iOS SDK版本是iOS 12.1。此外,这个链接指出,对于Xcode 10.1,支持的Swift版本是3.4.1、4.1.5和4.2.1。
因此,可以使用版本3.4.1、4.1.5或4.2.1提交应用程序。
目前还没有关于Swift版本、Xcode SDK和iOS SDK的综合列表。将尝试构建一个并在此发布。还有iOS SDK强制升级的频率。
根据https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes中的内容,Xcode 10是最后一个支持Swift 3的版本。为了解决这个问题,需要将项目中的Swift 3代码迁移到Swift 4.2语法上,方法是打开项目,选择编辑 -> 转换 -> 到当前的Swift语法。
问题的出现原因是,根据Xcode和最低iOS SDK版本支持的规定,很可能Xcode 11将不允许上传基于Swift 3源代码构建的ipa文件。
解决方法是将项目中的Swift 3代码迁移到Swift 4.2语法上。可以通过打开项目,选择编辑 -> 转换 -> 到当前的Swift语法来完成迁移。
自2019年3月27日起,所有提交到App Store的iOS应用程序都需要使用iOS 12.1 SDK或更高版本,并支持iPhone XS Max或12.9英寸iPad Pro(第三代)的全屏设计。所有watchOS应用程序都需要支持watchOS 5和Apple Watch Series 4。
这意味着在2019年3月27日之后提交到App Store的任何应用程序都需要使用iOS 12.1 SDK或更高版本,我相信这在XCode 10.2及以后的版本中可用。XCode 10.2不支持Swift 3。换句话说,苹果在2019年3月27日之后停止接受使用Swift 3编写的应用程序。
同样的原则也适用于Swift 4。每当他们决定提高最低SDK要求时,它将强制使用最低XCode版本,从而强制使用最低Swift版本。
看起来应该是XCode 10.1而不是XCode 10.2。