我可以将iOS 5.1 SDK应用程序部署到Xcode运行iOS 6.0的设备吗?

时间:2012-10-03 09:01:31

标签: ios xcode ios6 ios5

我最近将我的iPad升级到iOS 6.0,但我的Xcode安装版本保持在4.4.1和iOS SDK 5.1,因为我们即将打包客户端应用程序并且不想冒险切换SDK的/ iOS版本在开发的最后阶段。

现在这款iPad不再以其全名显示在构建目标列表中,它只是说“iOS设备”。当我尝试在iPad上部署时,它通知我:“Xcode无法使用所选设备运行。没有配置的iOS设备可用兼容的iOS版本。连接iOS设备与最新版本的iOS运行您的应用程序或选择iOS模拟器作为目的地。“管理器还告诉我iPad上的iOS版本与Xcode中的任何版本的SDK都不匹配。

这一切都是正确的,但我不应该将5.1应用程序部署到运行6.0 的设备上吗?我之前使用5.1构建的应用程序继续在此设备上正常运行,为什么新应用程序不应该这样做?我有一个奇怪的问题,或者这是Xcode的正常行为?

谢谢!

编辑:后续问题:如果我升级我的Xcode版本以解决此问题,我是否仍然可以构建5.1 SDK并且绝对确定该应用程序可以在我的客户端的5.1设备上运行?这是我的主要关注点。

2 个答案:

答案 0 :(得分:4)

您仍然可以部署较旧的应用但不使用Xcode。相反,您需要创建一个ipa存档并通过iTunes或使用Testflight等工具或其他一些无线(OTA)发行版安装它。

或者,是的,您可以升级您的Xcode版本。但是,您可能会遇到更多问题,因为您使用的第三方库可能尚未针对armv7编译。所以你需要升级它们。如果是这种情况,您将从链接器中看到此错误:

ld: file is universal (3 slices) but does not contain a(n) armv7s slice

有关该特定问题的更多信息,请参阅stackoverflow上的其他地方,例如

File is universal (three slices), but it does not contain a(n) ARMv7-s slice error for static libraries on iOS, anyway to bypass?

这些当然不会阻止您在模拟器中工作。

然而,在设备上运行,总而言之,一个适合我的好解决方案是下载Xcode 4.5 dmg。由于Xcode已经从App Store上市,它现在是一个独立的软件包。您现在可以在同一台计算机上快乐地共存多个版本。

我这样做并将Xcode 4.5用于新的iOS 6,同时我继续使用4.4的旧应用程序。

答案 1 :(得分:1)

首先,尝试转到Xcode Organizer(右上角的小图标)并查看是否可以启用设备进行开发(单击设备然后应显示其详细信息)。这将有可能下载所有必要的东西,以允许Xcode使用您的新iOS设备(调试符号和类似的东西)。

如果这不起作用,那么您所描述的问题仅与您的开发环境太旧而无法管理运行iOS6的设备有关。 无论如何,这不会阻止您的5.1应用程序部署在运行iOS6的设备上;唯一的问题是你不能从你的旧Xcode中做到这一点。

如果所有其他方法都失败了,您可以尝试通过iTunes手动安装5.1应用程序,因为开发团队外部的任何测试人员也会这样做。这应该有用。