我最近将我的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设备上运行?这是我的主要关注点。
答案 0 :(得分:4)
您仍然可以部署较旧的应用但不使用Xcode。相反,您需要创建一个ipa存档并通过iTunes或使用Testflight等工具或其他一些无线(OTA)发行版安装它。
或者,是的,您可以升级您的Xcode版本。但是,您可能会遇到更多问题,因为您使用的第三方库可能尚未针对armv7编译。所以你需要升级它们。如果是这种情况,您将从链接器中看到此错误:
ld: file is universal (3 slices) but does not contain a(n) armv7s slice
有关该特定问题的更多信息,请参阅stackoverflow上的其他地方,例如
这些当然不会阻止您在模拟器中工作。
然而,在设备上运行,总而言之,一个适合我的好解决方案是下载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应用程序,因为开发团队外部的任何测试人员也会这样做。这应该有用。