是否可以在Xcode 7中编译Swift 2代码并在iOS 11.1 iPhone 6上运行?

时间:2017-11-24 00:36:14

标签: ios iphone xcode

我有运行ios 11.1的iphone 6

我有一个需要运行的旧程序,我尝试将其转换为Swift 4但未正确翻译(主要是运行时错误)。只是想运行它并测试它。我也有xcode 8和xcode 9,但由于它是用Swift 2.x编写的,我必须使用Xcode 8或7.

在Xcode 7中运行我得到

Could not find Developer Disk Image

在Xcode 8中运行它我

This iPhone 6 is running iOS 11.1.1 (15B150), which may not be 
supported by this version of Xcode.

有没有办法在物理设备上运行它,或者我必须转换它?

2 个答案:

答案 0 :(得分:4)

是的,您可以在iOS 11设备上运行Xcode 7 / Swift 2应用程序(假设该应用程序是为64位构建的),但您无法通过Xcode运行它(调试它)。您需要进行存档构建,然后导出ipa以进行Ad-hoc部署并通过iTunes安装应用程序。

不要为此烦恼。使用Xcode 8并使用其转换工具将代码迁移到Swift 3.解决所有编译器问题。然后使用Xcode 9并在iOS 11设备上构建和测试您的应用程序。您可以选择(也可能应该)迁移到Swift 4。

斯威夫特2已经死了。你需要迁移。等待的时间越长,就越难。

答案 1 :(得分:2)

是的,你可以这样做。安装新的Xcode版本(9)并提取sdk图像。将它放入第7个文件夹,然后就可以在iOS 11设备上运行Xcode 7。但是想知道,iOS 11仅适用于64x架构,因此应用程序不应该以32位编译