Xcode 8 Swift 3 的应用能在 iOS 7 上成功运行吗?

18 浏览
0 Comments

Xcode 8 Swift 3 的应用能在 iOS 7 上成功运行吗?

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设备后,我然后在实际设备上成功启动了该应用程序。


结果.

enter image description here


问题:

  • 根据上表的所有测试结果,我可以得出什么结论?
  • 重要的是,当通过在Xcode 8中使用Swift 3创建的应用程序通过App Store进行分发时,可以安全地预期通过iTunes成功安装在iOS 7.1.2的iPhone设备上的应用程序仍然与在App Store下载的所有iOS 7设备兼容吗?
  • Xcode 7.3.1在开发过程中允许测试和调试iOS 7到iOS 9的设备?
  • Xcode 8在开发过程中不允许测试和调试iOS 7设备,但仍然允许将应用程序部署到iOS 7设备?
  • Swift 2.3作为过渡到Swift 3的中间步骤的意义是什么?
0
0 Comments

Xcode 8和Swift 3应用程序能否在iOS 7上成功运行?

参考Swift 3 iOS兼容性。确保支持iOS 8,对于iOS 7则不确定。参考这个回答关于Swift 2和iOS 7的问题。最后的评论表示,苹果可能并不希望你将目标定在iOS 7上。如果不起作用,问题可能不是Swift,而是Xcode。

关于表格中的所有测试结果,我不确定你的意思是什么。

重要的是,当通过Xcode 8和Swift 3创建的应用程序通过App Store分发时,如果在一个iOS 7.1.2的iPhone设备上通过iTunes成功安装了该应用程序,那么在App Store下载时,这个应用程序对所有iOS 7设备是否仍然兼容?

在尝试解决Xcode的问题时,这样的期望可能永远不安全。

Xcode 7.3.1允许在开发过程中测试和调试从iOS 7到iOS 9的设备?

那又怎样?Xcode 8不允许。iOS 7到iOS 9是两个版本,iOS 8到iOS 10也是两个版本。

Swift 2.3作为到Swift 3的中间步骤有什么意义?

因为Swift 3与Swift 2.2相比是一个重大的跳跃,如果你还没有准备好转向Swift 3,他们提供了Swift 2.3。然而,他们建议转向Swift 3。Swift 3还允许你访问一些新功能。

0
0 Comments

Xcode 8和Swift 3的应用程序能在iOS 7上成功运行吗?

原因:

- Apple只保证他们的应用程序支持iOS 8及以上版本。

- 根据最新数据,只有5%的设备仍在运行iOS 7或更早的版本。

解决方法:

- Apple通常建议只支持最新的iOS版本和上一个版本。

- 如果必须在Xcode 8上调试iOS 7的应用程序,可以通过创建符号链接来部署到iOS 7设备。

代码示例:

sudo ln -s /Applications/Xcode.7.3.1.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/7.* /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/

尽管iOS 7仍然有一定的市场份额,但考虑到额外的开发成本和牺牲的应用程序功能,将应用程序迁移到Swift 3并放弃对iOS 7的支持可能是一个值得考虑的决策。然而,如果需要在Xcode 8上调试iOS 7的应用程序,可以使用上述代码示例中的方法来解决。

0