iPhone运行iOS 8.3在Xcode 6.2中显示为不合格。

33

当前设置:

  • iPhone 6+ 已更新至 iOS 8.2
  • iMac 运行 Mavericks (10.9) 并装有 Xcode 6.2
  • 部署目标设定为 8.2

当我连接 iPhone 时,它显示为不合格。

同时,它显示了以下警告:

enter image description here

我已经尝试过:

  • 重启 iPhone 和 iMac -> 未解决
  • 从此处手动选择 iPhone: Product > Destination > Ineligible Devices

这个问题的许多其他答案都是关于使用 Xcode 6.3 的问题,而不是 6.2。

我知道可以通过以下方式解决:

  • 升级到 Yosemite 并安装 Xcode 6.3
  • 使用运行 8.2 的 iPhone

但是,如果挂载 Xcode 6.3 DMG 并复制一些库/符号链接,是否有可能使其工作?


你有没有找到解决办法? - Dejan Skledar
还没有。还没尝试复制库文件。如果成功了会在这里发布。 - Diego Freniche
我尝试了这里答案中的第6步:https://dev59.com/tWAg5IYBdhLWcg3wBXOs#24039323 但是对我来说没有用,因为我仍在运行OSX Mavericks。 - goelv
遇到了相同的问题,期待您的结果。 - sim
@DiegoFreniche 这个问题有解决方案了吗? - SanitLee
5个回答

11

将 Xcode 6.3 中的 DeviceSupport/8.3 文件夹复制到 Xcode 6.2 中即可。

具体步骤如下:

  • 下载并安装 Xcode 6.2 和 6.3,将它们分别安装在 /Applications/Xcode_6.2.app/Applications/Xcode_6.3.app(或类似名称)。
  • 在两个安装中,都有一个文件夹 Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
  • Xcode 6.2 的此文件夹包含 iOS 8.2 和许多更低版本的软件包,但不包括 8.3 版本。
  • Xcode 6.3 的此文件夹也包含 iOS 8.3 的软件包。在我的情况下,该文件夹名为8.3 (12F69)
  • 将 iOS 8.3 软件包从 Xcode 6.3 复制到 Xcode 6.2 中(当然这是一条命令):

cp -r '/Applications/Xcode_6.3.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/8.3 (12F69)' '/Applications/Xcode_6.2.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport'

  • 或者你可以创建一个符号链接(更好的方式):

ln -s '/Applications/Xcode_6.3.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/8.3 (12F69)' '/Applications/Xcode_6.2.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport'

  • 现在,重新启动 Xcode 6.2 并通过 USB 连接你的设备。Xcode 应该会允许你在设备上测试应用程序。

迭戈·弗雷尼奇(Diego Freniche)的解决方案(复制整个文件夹)帮了我很大忙,但当我从Xcode 6.2运行我的应用程序时,它看起来与我在手机上部署.ipa文件时略有不同(按钮位置错误,状态栏显示错误)。我猜想Xcode感到困惑,并构建了一个针对不同iOS版本的应用程序。

使用这种解决方案(只复制DeviceSupport中的一个文件夹),看起来应用程序正如它应该做的那样工作。如果我遇到问题,我会告诉你,但到目前为止我还没有看到任何问题。


2
适用于我:OS X Maverick,XCode 6.2,iPhone iOS 8.3。只需复制DeviceSupport文件夹中的文件夹即可运行。但我不知道是否还有其他问题。 - cdytoby
在Maverick上对我有用。由于Yoesmite在我的虚拟机上运行不好,这是唯一剩下的方法。 - WawaBrother

10
略有进展,但这还是一个正在进行的项目。
在Yosemite中看起来Xcode 6.2与8.3设备可以正常工作。需要在Mavericks上进行测试。
在Yosemite中使用Xcode 6.2进行测试(也需要在Mavericks上进行测试,欢迎任何反馈)。
- 进入Xcode 6.2文件夹并重命名
`/Applications/Xcode-6.2 copia.app/Contents/Developer/Platforms/iPhoneOS.platform`

`/Applications/Xcode-6.2 copia.app/Contents/Developer/Platforms/iPhoneOS.platform.old`
- 挂载Xcode 6.3 DMG, 并安装 - 从Xcode 6.3中复制此文件夹:
`/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform`
到您的Xcode 6.2文件夹中。
您可能会发现错误提示说“root”用户不拥有模拟器/OS Platform文件夹。解决办法是打开终端,然后:
``` $ cd /Applications/Xcode6.2.app/Contents/Developer/Platforms $ sudo chown -R root iPhoneSimulator.platform/ $ sudo chown -R root iPhoneOS.platform/ ```
现在可以在iOS 8.3设备上使用Xcode 6.2运行应用程序了,但是在目标destination菜单中没有模拟器。
更新: 在编译storyboards时,我遇到了奇怪的错误:
`/Users/dfreniche/Desktop/Test/Test/Base.lproj/Main.storyboard: The operation couldn’t be completed. (com.apple.InterfaceBuilder error 2001.)`
所以最终放弃并升级到Yosemite。如果有任何新信息,请分享。

我在使用10.9.5和Xcode 6.2时遇到了崩溃问题。我尝试了来自6.3和6.3.1的平台文件夹,但很遗憾仍然无法正常工作。 - Paul Cezanne
即使在我未更改Xcode 5.0安装的任何内容的情况下,它现在也可以在我的8.3手机上运行应用程序了。可能是因为当我插入手机时Xcode 6.2创建了 ~/Library/Developer/Xcode/iOS DeviceSupport/8.3 (12F70)... - jcsahnwaldt Reinstate Monica
有一些小问题:1.只有在 Xcode 6 运行过之后,Xcode 5 才能处理 8.3 手机。2. 当我通过 Xcode 6 在手机上运行应用程序时,会出现一些细微的布局更改。看起来 Xcode 6 使应用程序看起来像是在 iOS 6 上一样。 - jcsahnwaldt Reinstate Monica
我找到了一种不那么侵入式且对我更有效的方法。请查看我的答案。 - jcsahnwaldt Reinstate Monica
显然,如果您使用的是Mavericks操作系统,则无法安装Xcode 6.3。因此,只需挂载安装DMG文件,并在无法卸载的Xcode 6.3应用程序上执行“显示包内容”后导航到上述路径即可。希望这可以帮助您。我正在使用Xcode版本6.2的10.9.5,一切都正常工作。 - greaterKing
显示剩余5条评论

0

我有同样的问题,但是我不想仅仅因为需要维护我的旧项目就使用最新版的XCode。为了解决这个问题,我最终安装了两个版本的XCode(6.2和6.3)。以下是我所做的:

  1. 从Apple网站下载XCode6.2安装程序包
  2. 将现有的XCode6.2升级到x6.3
  3. 在XCode6.3上打开我的项目(这一次设备可以被XCode识别,我认为XCode6.3可能已经对您的项目进行了一些更新)
  4. 关闭我的项目,重新安装XCode6.2,会出现一个提示,表示我有一个更新版本,并询问是否要保留两个版本。单击“是”。然后我就拥有了两个版本的XCode。

完成所有这些步骤之后,我终于可以在XCode6.2中打开我的项目并使用我的设备了。希望这能帮助某些人。


0

在Mavericks上连接iOS8.3设备到Xcode 6.2时遇到了同样的问题。在工作中运行Yosemite上的Xcode 6.4的机器上正常。 Mavericks机器上的软件更新没有提供任何更高版本。查看Xcode 6.4(以及原始问题的可能是6.3)的规格表明它需要OS X 10.10(即Yosemite)。所以,无论你是否可以绕过它,我们在Mavericks上看到的行为就是Apple的意图。


-3

XCODE 6.3已经发布了。它解决了我的问题。如果你使用的是Yosemite,你可以下载6.4 beta版本。


5
这并没有回答问题。我已经说过我可以做到这一点。问题在于当你无法这样做,在系统版本为10.9、使用Xcode 6.2但手机是8.3时该怎么办。 - Diego Freniche

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