XCode 6 无法在 iOS 8 iPhone 设备上进行开发

Posted

技术标签:

【中文标题】XCode 6 无法在 iOS 8 iPhone 设备上进行开发【英文标题】:XCode6 not enabling development on iOS8 iPhone device 【发布时间】:2014-10-10 19:23:02 【问题描述】:

我意识到这是与其他几个问题的重复: Ineligible Devices section appeared in Xcode 6.x.x Xcode 6 won't let me develop on my ios 8 phone

但我希望提供更多细节。

出现此错误时,系统控制台会在不同时间出现不同的消息:

18/08/14 上午 2:46:22.000 内核 [0]:USB(XHCI 根集线器 USB 2.0 模拟):总线 0xa 上的端口 1 连接或断开: portSC(0xe0206e1) 18/08/14 2:46:24.827 上午 Xcode[300]: stream_image(线程 0x1131f5000):收到的确认:ReceiveBytesAck, 正在进行转移... 18/08/14 2:46:24.830 am com.apple.usbmuxd[47]:MuxTCPInputSCE 收到 RST 0x1-5448ce54615fa3fcc36079423e0fde3c403d1615@0x14100000:49230->0x100312220-Xcode/com.apple.dt.Xcode:10752: handleMuxTCPInput 没有匹配的会话 18/08/14 2:46:24.830 am com.apple.usbmuxd[47]:MuxTCPInputSCE 收到 RST 0x1-5448ce54615fa3fcc36079423e0fde3c403d1615@0x14100000:49230->0x100312220-Xcode/com.apple.dt.Xcode:10752: handleMuxTCPInput 没有匹配的会话 18/08/14 2:46:24.831 am com.apple.usbmuxd[47]:MuxTCPInputSCE 收到 RST 0x1-5448ce54615fa3fcc36079423e0fde3c403d1615@0x14100000:49230->0x100312220-Xcode/com.apple.dt.Xcode:10752: handleMuxTCPInput 没有匹配的会话 18/08/14 2:46:24.831 am Xcode[300]:__stream_image_block_invoke(线程 0x1131f5000): AMDServiceConnectionSend 失败:0xe800002d,kAMDSendMessageError, buflen:65536,发送:-1 18/08/14 2:46:24.831 am Xcode[300]: stream_image(线程 0x1131f5000):read_file 失败 18/08/14 凌晨 2:46:24.831 Xcode[300]:AMDeviceMountImage(线程 0x1131f5000): stream_image 失败 (kAMDSendMessageError),正在尝试复制... 2014 年 8 月 18 日上午 2:46:24.831 Xcode[300]:copy_image(线程 0x1131f5000): Jay Root 18/08/14 2:46:27.365 am Xcode[300]: AMDeviceMountImage(线程 0x1131f5000):行:207:无法挂断 使用服务代理:kAMDSendMessageError 18/08/14 2:46:27.454 am Xcode[300]: mount_image (thread 0x1131f5000): 出现错误 安装图像:kAMDSuccess 18/08/14 2:46:27.455 am Xcode[300]:AMDeviceMountImage(线程 0x1131f5000):无法挂载 图片:kAMDMobileImageMounterMissingImagePath 18/08/14 上午 2:46:27.456 Xcode[300]:AMDeviceMountImage(线程 0x1131f5000): 无法挂断服务代理:kAMDSendMessageError

这些错误与 iPhone 日志中的以下错误同时发生:

8 月 18 日 03:05:55 iPhone mobile_storage_proxy[145]: 0x34ae59cc handle_receive_bytes:请求缺少磁盘镜像 签名 8 月 18 日 03:05:55 iPhone mobile_storage_proxy[145] : 0x34ae59cc handle_receive_bytes: 失败,取消链接 八月 18 03:05:55 iPhone mobile_storage_proxy[145]:0x34ae59cc 主要: 无法接收字节 8 月 18 日 03:05:55 iPhone mobile_storage_proxy[146]:0x34ae59cc handle_mount_image: 找不到磁盘映像 8 月 18 日 03:05:55 iPhone mobile_storage_proxy [146]:0x34ae59cc main:无法挂载 图片

注意:上述日志中的时间戳已关闭,因为我从不同的测试运行中复制了 iPhone 日志。 其他时候,此错误之前会在 OSX 日志中出现另一条与 USB 相关的错误消息:

18/08/14 1:37:58.824 am com.apple.usbmuxd[47]:MuxClearPipeStall 无法清除 0x4-5448ce54615fa3fcc36079423e0fde3c403d1615@0x14200000 上的管道失速 2。错误:0xe00002c0

上述消息也为一些generic iTunes sync issues 所共有的一些用户遇到very long ago

一遍又一遍地重新启动XCode,iPhone,Mac并以不同的顺序重新连接设备(在Mac启动时。在XCode启动之前。在XCode启动之后等)没有帮助。

重置 PRAM 和 SMC(几个不同的程序 here 和 here)也没有帮助。

有人能从上面的日志中理解问题的根源吗?如果是这样,建议一个更持久的解决方案?

(比重新启动 X 设备或执行一些计时巫术)。

【问题讨论】:

我也遇到了这个“不合格”的问题,还没有成功解决 有人解决了吗。我也卡在那里了。 我在 XCode6-Beta5 中发生了这个错误。升级到 XCode6-Beta7 为我解决了这个问题。我知道这可能无济于事,但到目前为止,这是唯一有效的方法。 【参考方案1】:

在注销并重新登录 iCloud 后才得到它。

重新启动设备 - 没有帮助。 重新启动 Mac 和设备 - 没有帮助。 重新插入另一个 USB 端口 - 没有帮助。 最后,重新启动 Xcode - 工作正常。

花了大约 15-30 分钟。一些愚蠢的错误,数百万中的一个。

附: Xcode 6.0.1、iOS 8.0、iPhone 5S

【讨论】:

这正是我希望有人能提供长期答案的原因。触发它的方法很多,随机解决方案也很多。【参考方案2】:

以下是对我真正有用的方法:

    拔下您正在开发的所有设备。 退出 XCode 我重建了我的 .xcodeproj 文件 - 很简单,因为我使用的是 cordova 启动 XCode(现在,至少我列出了所有模拟器) 重新插入您的设备

【讨论】:

如问题中所述,我正在寻找(如果可能的话)基于对根本问题的理解的永久、广泛的答案。引用 - “有人可以从上述日志中理解问题的根源吗?如果可以,建议一个更持久的解决方案?”如果没有对根本问题的解释或某种分析,这个问题的任何答案都是不完整的。 刚刚在我自己的 Cordova 项目中尝试了这个解决方案,但我仍然看到我的手机在不合格的设备下。无赖。【参考方案3】:

请使用Xcode 6.1

Xcode 6 仅包含 iOS 8.0 SDK。 如果您在手机上运行 iOS 8.1,则需要升级到包含 iOS 8.1 SDK 的 Xcode 6.1。

【讨论】:

如问题中所述,我正在寻找(如果可能的话)基于对根本问题的理解的永久、广泛的答案。引用 - “有人可以从上述日志中理解问题的根源吗?如果可以,建议一个更持久的解决方案?”如果没有对根本问题的解释或某种分析,对这个问题的任何回答都是不完整的。作为评论,是的,这可能对遇到此问题并访问此问题的其他任何人有用。 这里有一些信息可能有助于找到根本原因。在插入新的 S6 后,这些症状发生在我的 beta XCode 7.1 (IOS 9.1) 上。我回到 7.0 插入手机,XCode 下载并处理手机的“符号文件”。这显然在 iPhone 6S 的 XCode 7.1 中没有发生。然后手机就可以调试了。这可能就是“拔出/插入”电话的其他答案可能起作用的原因。

以上是关于XCode 6 无法在 iOS 8 iPhone 设备上进行开发的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 ios 8 加载 espeak-data xcode 6

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

为啥我的弹出框在 iPhone 6 Plus 上的 iOS 8.1 中崩溃? iOS 8 工作(实际上是 Xcode 6.0 到 6.1 的错误)

Xcode 6.0.1 仅限 iPhone 的应用程序的行为类似于 iPad 上的普通 iPad 应用程序 - iOS 8

appium 1.6.3 + ios 10.2 + xcode 8.2.1 真机运行iphone app

CoreData 适用于我的模拟器,但不适用于使用 xCode 6 的 iOS 8 Swift 中的 iPhone