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

Posted

技术标签:

【中文标题】运行 iOS 8.3 的 iPhone 在 Xcode 6.2 中显示为不合格【英文标题】:iPhone running iOS 8.3 shows up as ineligible in Xcode 6.2 【发布时间】:2015-04-10 08:39:32 【问题描述】:

当前设置:

iPhone 6+ 更新至 ios 8.2 iMac 运行 Mavericks (10.9) 和 Xcode 6.2 部署目标设置为 8.2

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

此外,它显示以下警告:

我试过了:

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

this question 中有许多其他答案,但都是针对使用 Xcode 6.3 而不是 6.2 的问题。

我知道我可以解决这个问题:

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

但是安装 Xcode 6.3 DMG 并复制一些库/符号链接是否可行?

【问题讨论】:

你找到解决办法了吗? 还没有。没有尝试复制库。如果成功将在这里发布 我在这里尝试了答案中的第 6 步:***.com/a/24039323/2382712 但它对我不起作用,因为我仍在运行 OSX Mavericks 遇到了同样的问题,期待你的结果 @DiegoFreniche 有什么解决办法吗? 【参考方案1】:

只需将文件夹 DeviceSupport/8.3 从 Xcode 6.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 Frenich 的解决方案(复制整个 iPhoneOS.platform 文件夹)很有帮助,但是当我从 Xcode 6.2 运行我的应用程序时,它看起来与我在手机上部署 ipa 文件时略有不同(按钮错误位置,状态栏显示错误)。我猜 Xcode 搞糊涂了,就好像它是针对不同的 iOS 版本一样构建应用程序的。

使用此解决方案(仅复制DeviceSupport 中的一个文件夹),该应用程序看起来完全按照预期运行。如果我遇到问题,我会告诉你,但到目前为止我还没有看到任何问题。

【讨论】:

适合我:OS X Maverick、XCode 6.2、iPhone iOS 8.3。只需复制 DeviceSupport 文件夹中的文件夹即可。但我不知道是否还有其他问题。 在 Maverick 上为我工作。由于 Yoesmite 在我的 VM 上运行不佳,因此这是唯一的方法。【参考方案2】:

有点进步,但这是一个WIP

看起来在 Yosemite Xcode 6.2 中可以在 8.3 设备上正常工作。需要在小牛上测试

在 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 文件夹中。

您可能会发现一个错误,告诉您rootuser 不拥有模拟器/操作系统平台文件夹。要解决这个问题,只需打开终端,然后:

$ cd /Applications/Xcode6.2.app/Contents/Developer/Platforms

$ sudo chown -R root iPhoneSimulator.platform/

$ sudo chown -R root iPhoneOS.platform/

现在您可以从 Xcode 6.2 在 iOS 8.3 设备中运行您的应用程序但目标 tdestination 菜单中没有模拟器

更新:当ibtool 尝试编译情节提要时,我遇到了奇怪的错误:

/Users/dfreniche/Desktop/Test/Test/Base.lproj/Main.storyboard:操作无法完成。 (com.apple.InterfaceBuilder 错误 2001。)

所以最终放弃并更新到优胜美地。如果有这方面的任何新信息,请分享。

【讨论】:

我刚刚尝试过,它可以工作,而且我还可以使用所有模拟器,因为没有这个 hack,我会尝试使用它几天来了解它的稳定性 谢谢——我在 Yosemite 上遇到了崩溃——但是,作为一种解决方法,这样做一次,然后恢复 6.2 iPhoneOS.platform 文件夹似乎可以工作。如果我重新启动我的设备,我猜它会恢复到之前的行为,它不会让我运行它。 在 10.9.5 和 Xcode 6.2 中崩溃。我尝试了 6.3 和 6.3.1 的平台文件夹。希望它对我有用... 感谢您的指导!他们在为我工作。我在小牛队。刚刚从 developer.apple.com 下载了 Xcode 6.3。当我尝试打开它时,我收到它需要 Yosemite 的消息,但我不在乎 - 我将 iPhoneOS.platform 复制到我的 Xcode 6.2 安装中,启动 Xcode 6.2,现在我可以在我的 iOS 8.3 iPhone 上运行我的应用程序4秒。谢谢! (P.S.:我不想升级到 Yosemite,因为我想在 Xcode 5 中使用 iOS 6 模拟器。) 即使 Xcode 5.0 现在也可以在我的 8.3 手机上运行应用程序,尽管我什至没有在 Xcode 5.0 安装中进行任何更改。可能是因为 Xcode 6.2 在我插入手机时创建了~/Library/Developer/Xcode/iOS DeviceSupport/8.3 (12F70)...【参考方案3】:

在 Mavericks 上将 iOS8.3 设备连接到 Xcode 6.2 时遇到同样的问题。好的,在 Yosemite 上运行 Xcode 6.4 的工作机器上。 Mavericks 机器上的软件更新不提供任何更高版本。查看 Xcode 6.4 的规格(大概是原始问题的 6.3)说它需要 OS X 10.10(即 Yosemite)。因此,无论您能否破解它,您/我们在 Mavericks 上看到的行为都是 Apple 的意图。

【讨论】:

【参考方案4】:

我有同样的问题,我不想只使用最新版本的 XCode 来维护我的旧项目。我最终安装了两个版本的 XCode(6.2 和 6.3)来解决这个问题。这就是我所做的。

    从苹果网站下载XCode6.2安装包 将现有的 XCode6.2 升级到 x6.3 在 XCode6.3 上打开我的项目(这次 XCode 可以识别设备,我认为 XCode6.3 可能对您的项目做了一些更新。) 关闭我的项目,重新安装XCode6.2,会有提示说我有一个更新的版本,如果我想保留两个。单击是。然后我有两个版本的 XCode。

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

【讨论】:

【参考方案5】:

XCODE 6.3 出来了。它解决了我的问题。如果你有 Yosemite,你可以下载 6.4 测试版

【讨论】:

这不能回答问题。我已经说过我可以做到。问题是当您无法做到这一点时,您使用的是 10.9,使用 Xcode 6.2,但您的手机使用的是 8.3

以上是关于运行 iOS 8.3 的 iPhone 在 Xcode 6.2 中显示为不合格的主要内容,如果未能解决你的问题,请参考以下文章

字体无法缩放或适用于 iPhone 6 和 6+

斯威夫特位置管理器

自动布局在 ios 8.3 上无法正常工作

iOS小技能:和uni-appunity的融合方案

在 iOS 8.3 中,UITabBarViewController 作为 UISplitViewController 的主控的问题

在 xcode 4.3 上添加 iphone sdk 6.1