【发布时间】:2016-11-19 17:56:40
【问题描述】:
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 Target Deployment 为 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 设备上
.ipa 应用程序文件通过 iTunes 完成传输到 iOS 7.1.2 iPhone 设备后,我在实际设备上启动该应用程序,这次成功了。
问题:
我可以从上表中的所有测试结果中得到什么?
重要的是,当需要通过使用 Swift 3 在 Xcode 8 中创建的 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 的中间步骤有何意义?
【问题讨论】:
-
您应该尝试一次只回答一个问题。
-
Re Swift 2.3, What's New in Swift 说“如果你还没有准备好跳到 Swift 3,Swift 2.3 只是 Swift 2.2 可以与新的 SDK 一起工作,好的,我们将接受使用 Swift 3 和 2.3 向应用商店提交,但您应该知道 Xcode 中有一些非常关键的功能依赖于 Swift 3,例如 Playgrounds 和文档以及新功能,例如 Thread Sanitizer。"
-
我希望这个问题本身可以被投票!感谢结果矩阵,真的很有帮助!
标签: ios swift xcode optimization