Xcode 8使用Swift 3编写的应用程序能否在iOS 7上运行成功?
我尝试了一些测试(如下所述),但希望有更好理解App Store开发的专家帮忙解释成功和失败的原因,包括以下问题:
测试1.
我打开Xcode 7.3.1并创建了一个应用程序,使用Swift 2.2。我计划将该应用程序从iOS 7部署到iOS 10。
我在iOS 9.3的iPhone模拟器上成功运行该应用程序,然后在实际的iOS 7.1.2 iPhone设备上也成功运行了该应用程序。
测试2.
接下来,我将相同的项目打开到Xcode 8 Beta 2中。(提示我更新为Swift 2.3或Swift 3。我先更新为Swift 2.3,然后再更新为Swift 3。)
手动将iOS目标部署设置为7.0后,在iOS 10 Beta 2 iPhone模拟器上成功运行了该应用程序。但是,当我尝试在实际的iOS 7.1.2 iPhone设备上运行该应用程序时,这次没有成功,显示了下面的错误。我使用Swift 2.3和Swift 3重新进行测试,结果出现了相同的错误:
无法找到设备支持文件
此iPhone 4S运行的是iOS 7.1.2(11D257),可能不受此版本的Xcode支持。
测试3.
接下来,我尝试通过iTunes将在Xcode 8 Beta 2中创建的.ipa应用程序文件直接安装到实际的iOS 7.1.2 iPhone设备上(先获取应用程序的归档文件(Product > Archive …))
当.ipa应用程序文件通过iTunes成功传输到iOS 7.1.2 iPhone设备后,我再次启动该应用程序,这次运行成功了。
问题:
根据上表的所有测试结果,我可以得到什么结论?
重要的是,在通过使用Xcode 8和Swift 3创建的应用商店分发应用程序时,可以安全地期望已经成功通过iTunes安装在iOS 7.1.2 iPhone设备上的应用程序在从应用商店下载时仍然兼容所有iOS 7设备吗?
Xcode 7.3.1允许在开发过程中测试和调试从iOS 7到iOS 9的设备吗?
Xcode 8在开发过程中不允许测试和调试iOS 7设备,但仍允许将应用程序部署到iOS 7设备上吗?
Swift 2.3作为迁移到Swift 3的中间步骤有何意义?