Xcode 6和iOS 9兼容吗?

18
我对iOS开发相当新,并将设备升级到iOS 9.0 beta版本,以查看我的应用程序是否正常。但是,我没有升级到Xcode 7 beta版本。我收到了一个错误消息,显示我的设备现在“不合格”,具体地说:

iPhone (3) 可能正在运行Xcode此版本不支持的iOS版本。

这很正常吗?如果我运行iOS 9.0,是否必须升级到Xcode 7?

8个回答

30

Xcode 7的问题在于它要修改您的Swift代码才能运行。有一个解决方法,即下载Xcode 7并运行它。几分钟后进行一些安装,在将iOS 9设备连接到电脑后,您可以在Xcode 7中看到它。然后退出Xcode 7并运行Xcode 6,令人惊奇的是,Xcode 6将检测到您的设备,并且您可以在上面运行应用。


1
这一定是我之前做的那个技巧...不知怎么地,我能够在XCode 6上让它工作。我卸载了XCode 7,现在它停止工作了...看来我需要这样做。 - Joshua F. Rountree
1
这是最佳的临时解决方案,直到XCode 7准备就绪,而您还没有准备好转换为Swift 2。 - Joshua F. Rountree
1
如果你在 XCode 6 中遇到 swiftc 错误,你可能需要前往 Product > Clean 来使你的构建工作正常。 - Joshua F. Rountree
1
我认为这应该是正确的答案。因为即使需要Xcode 7,您仍然可以从Xcode 6在iOS 9设备上运行您的代码。@ABC - Glauco Neves
1
同意 - 这是正确的答案,也是救命稻草。谢谢Hassan。 - David
这应该是被接受的答案。仍在使用iOS 9.3.2和Xcode 6.4进行工作。非常感谢! - cdf1982

18

是的,要开发iOS 9应用程序,您需要安装Xcode 7。您可以在Xcode 7旁边保留运行Xcode 6。


这是不正确的,对于我们中那些试图在XCode7 Beta版过期并支持iOS9之前发布的人来说,这不是一个选择。您可以在iOS9设备上调试Swift 1.2-您只需按照Hassan答案中概述的方式将您的iOS9设备附加到XCode7中一次即可。 - David
嗨,Ben - 是的,我知道这个问题。更新我们的代码库到Swift2对于我们的发货截止日期来说是不现实的。我们需要在Swift2 / XCode7达到Gold Master之前完成发货,但我们希望确保它在iOS9上能够正常运行。 - David
@BenKane - 我之前错误地说你的答案是不正确的。你的答案是正确的,Hassan的也是。他们只是回答了略微不同的问题 :). 但是我现在无法编辑我的第一个回复。 - David
1
啊,你的问题是Swift 1.2到2.0的转换,并且仍然需要在GM之前发布。嗯,我想你将不得不使用解决方法。我不认为这使得答案错误。那种情况很可能只适用于今年。我不会期望Swift明年有重大变化。就像如果你的应用程序是用Obj-C编写的,这也不是问题。你应该为你的项目拥有一个Swift 2分支,其中包含Swift 2代码,而你的主要开发仍然是Swift 1.2,然后在合并时合并。但也许这也不现实。 - Ben Kane
1
@David 我同意,它们在不同的情况下都是正确的。感谢您的认可。我从一个相当普遍的角度回答了这个问题,因为 OP 没有提到 Swift 的限制。 - Ben Kane
显示剩余3条评论

11
您可以使用Xcode 6在iOS 9设备上运行应用程序,但首先需要在Xcode 7上构建您的应用程序,之后它将支持Xcode 6。我已经在我的Mac上进行了检查。

步骤

在打开同一项目的Xcode 6的同时,在Xcode 7上构建该项目。 断开设备连接并重新连接。(现在您可以在Xcode6上运行您的应用程序,这可能需要一点时间来加载设备)

当我在Xcode6上检查iOS9时,错误非常少。因此,我计划支持iOS9与XCode6以进行快速发布。稍后我会为XCode7做出努力。


我该如何反转这个问题,以便我可以向iOS应用商店提交新的构建?目前我无法这样做,因为它说它是使用Xcode(Xcode 7)的beta版本构建的,即使我最近在Xcode 6上进行了清理和构建(我还卸载了Xcode 7)。 - kygcoleman
1
我刚刚做了这件事,想要发帖分享,但是我使用了搜索功能后发现有人比我更快 :/ - user2875404

6

有一种方法可以使用Xcode 6调试安装了iOS 9的设备。

打开Xcode主菜单:Product -> Destination,选择您的设备。即使它显示您的设备不符合条件,您仍然可以选择它,然后通常会起作用。

如果不起作用,请尝试运行Xcode 7并等待其索引带有iOS 9的设备。有时需要拔出并重新插入设备。


嗯,你的product->destination方法实际上是导致我的错误的原因。至于Xcode 7,它对我来说非常不稳定,根本无法启动。不过还是谢谢你的建议 :) - ABC
通常,设备是通过Xcode工具栏->“设置活动方案”来选择的。而且Xcode不允许在那里选择不合格的设备。这就是为什么我添加了我的答案。你试过安装Xcode 7 beta并允许它索引你的设备,然后再运行Xcode 6吗?我在不同的Mac上尝试过,对所有的都有效,但有时需要插拔设备。 - ksenks
是的,这对我来说根本不起作用... 产品目标菜单中仍然显示为不合格... 当我尝试构建时仍然会出现错误。 - Joshua F. Rountree

3

这很容易。

  1. 下载 Xcode 7 或 7.1
  2. 在 Finder 中浏览两个 Xcode 应用程序到以下目录。 Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
  3. 将 9.0 和 9.1 文件夹复制到同一目录中的 Xcode 6 中。
  4. 重新启动 Xcode 并重新连接您的 iOS 9 设备。

砰!


0

正如@Ben所提到的,您需要下载XCode7,其发布日期现在已经非常接近(9月中旬),但您不需要在XCode7下构建应用程序。诀窍是让XCode7复制符号。完成后,您可以在XCode 6.4下在设备上构建应用程序,而无需支持Swift 2.0:然后您的设备将被识别。因此,是的,您需要保留XCode 6和XCode 7的副本。


0

这里有一个简单的解决办法——尤其是如果您可以在另一台机器上访问Xcode 7(但您也可以在同一台Mac上执行):

从Xcode 7部署任何应用程序,例如Apple示例代码,只需执行一次。然后返回到Xcode 6.4,它将不再认为该设备“不合格”。


0

为了开发iOS 9应用程序,您需要安装Xcode 7。您可以在Xcode 7的同时保留Xcode 6。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接