Xcode组织者:无法使用iPhone(dyld_shared_cache_extract_dylibs失败)

23
当我将iPhone插入并启动Xcode组织者时,设备旁边的黄色圆圈向我显示“此设备正忙或不能被Xcode使用”。 然后组织者会处理两个文件(第二个文件需要相当长时间才能完成),之后我会收到如屏幕截图所示的错误消息。
我尝试谷歌该错误消息("dyld_shared_cache_extract_dylibs failed"),但没有找到有用的任何信息。 我尝试了几件事情:修复硬盘的权限并运行“sudo update_dyld_shared_cache -force”。仍然收到错误消息。
我正在运行iOS 4.2.1和Xcode 3.2.5。在从4.2更新到4.2.1之后,我没有更新Xcode(我想)。
Xcode控制台为空,但常规的OS X控制台显示如下内容:
1/22/11 10:56:19 PM     Xcode[4187]     Started symbol copying process
1/22/11 10:56:19 PM     Xcode[4187]     Skipped copying file 1 of 2 ("processed" sentinal found)
1/22/11 10:56:19 PM     Xcode[4187]     Skipped processing file 1 of 2 ("processed" sentinal found)
1/22/11 10:56:19 PM     Xcode[4187]     Skipped copying file 2 of 2 ("copied" sentinal found)
1/22/11 10:56:19 PM     Xcode[4187]     Started processing file 2 of 2
1/22/11 10:56:20 PM     [0x0-0x4d04d].com.apple.Xcode[4187]     arch already exists in fat dylib
1/22/11 10:56:20 PM     [0x0-0x4d04d].com.apple.Xcode[4187]     arch already exists in fat dylib
1/22/11 10:56:20 PM     [0x0-0x4d04d].com.apple.Xcode[4187]     arch already exists in fat dylib
1/22/11 10:56:21 PM     [0x0-0x4d04d].com.apple.Xcode[4187]     arch already exists in fat dylib
1/22/11 10:56:21 PM     [0x0-0x4d04d].com.apple.Xcode[4187]     arch already exists in fat dylib
1/22/11 10:56:22 PM     [0x0-0x4d04d].com.apple.Xcode[4187]     arch already exists in fat dylib
1/22/11 10:56:22 PM     [0x0-0x4d04d].com.apple.Xcode[4187]     arch already exists in fat dylib
1/22/11 10:56:22 PM     [0x0-0x4d04d].com.apple.Xcode[4187]     arch already exists in fat dylib
1/22/11 10:56:23 PM     [0x0-0x4d04d].com.apple.Xcode[4187]     arch already exists in fat dylib
1/22/11 10:56:23 PM     [0x0-0x4d04d].com.apple.Xcode[4187]     arch already exists in fat dylib
1/22/11 10:56:23 PM     [0x0-0x4d04d].com.apple.Xcode[4187]     arch already exists in fat dylib

这个错误信息会不断重复显示。
13个回答

54

自Xcode 3以来,目标路径已更改。

如果您在Xcode 8中遇到相同的问题,请按照以下步骤操作:

  1. 删除 ~/Library/Developer/Xcode/iOS DeviceSupport/ 中与设备上的iOS版本相匹配的目录。
  2. 重新启动Xcode。

来源:Apple开发者论坛


2
删除 '~/Library/Developer/Xcode/iOS DeviceSupport/' 对我有用。但是不需要重新启动 XCode。 - user1300214
所以对于Xcode10,首先删除这个文件夹。然后执行以下建议:取消配对,然后再次配对设备即可解决问题。 - Niklas
1
我有Xcode 10.2.1,当我连接我的iPhone 11并按照上述步骤操作时,但仍然无法工作。我的iPhone 11运行的是13.3版本的iOS。 - bhavik
运作得像魔术一样顺利! - undefined

34

经过这么长时间的考虑,我想提供一个可能的解决方案...

  1. 打开“设备和模拟器”
  2. 右键单击您的设备,然后选择“取消配对设备”
  3. 等待您的设备要求信任-这很重要... 我发现如果我不等这一步,错误就会持续存在
  4. 点击下面的加号按钮... (+)。
  5. 当下一个窗口打开时,如果您的iPhone仍未出现,请稍微等待一下.. 它会出现的。
  6. 当您的设备出现时,请选择它。

还有一件事:我将 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport 中的版本从10.3更改为10.3.3-这是我的设备上“完全”匹配的版本,所以请注意这一点。

相信我,伙计们... 我买了两根电缆,在谷歌、必应、雅虎、书籍、论坛中调查了所有链接... 什么都没有解决问题... 直到现在。


2
这应该是解决问题的可接受方法。 - Mereuta Mihai Andrei
嗨,Ota,你是怎么把它改成10.3.3的? - Soropromo

28

对我而言,有效的方法是在这里提到的:

  1. 打开Finder并转到~/Library/Developer/Xcode/iOS DeviceSupport/
  2. 删除与您的设备匹配的文件夹,然后重新连接您的手机

你如何知道哪个文件夹与你的设备相匹配? - Sam
iOS版本应该与您的设备相匹配。您可以通过检查组织者来查找您的设备操作系统。 - manman

21

对于Xcode 10.1,iOS 13.3以下的版本,以下方法有助于解决问题。

https://forums.developer.apple.com/thread/108917复制:

  1. 前往~/Library/Developer/Xcode/iOS DeviceSupport/13.2/Symbols/System/Library/Caches/com.apple.dyld

  2. 如果没有该文件,请创建一个空文件,命名为.processed_dyld_shared_cache_arm64e

  3. 重新启动Xcode并享受!


所有其他解决方案对我都没有起作用,而这个解决方案对我很有效。 - Anjaneyulu Battula
也对我适用,版本是13.3。 - Balaji Ramakrishnan
我的操作系统目录“13.3(17C54)”与帖子中的略有不同,但这个解决方案对我很有效。 - Nick N
让我有些担心,又重启了一次,但终于可以使用这个iPhone 11了。谢谢! - eGanges
谢谢!可以在13.3的iPhone 11上运行。 - sight

13

在苹果开发者论坛的某位帮助下,我通过删除"/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148)"文件夹来解决了问题。然后,Xcode会自动重新添加符号,错误就消失了。 有关更多信息,请参见此贴


8

就我所知:当我磁盘空间不足时,我遇到了这个问题。似乎XCode是第一个通过抛出此错误来“注意到”的应用程序。释放一些磁盘空间后,一切都正常工作了。


2
这种情况发生在我的Mac磁盘空间非常低的时候。

1
这是我在更新到iOS 12.0.1后遇到的问题。 我删除了~/Library/Developer/Xcode/iOS DeviceSupport/ 12.0.1版本文件夹,但没有起作用。重启我的iPhone后它就可以工作了。我注意到Xcode再次为我的手机准备了调试,所以第一次可能出了问题。

我在iOS 17.1.1上遇到了这个问题,无论我做什么都不起作用,直到我删除了整个/Library/Developer/Xcode/iOS DeviceSupport文件夹。我尝试了取消配对、重启、使用最新的Xcode 15.0.1、重启Xcode和iPhone。我猜测可能是某些文件损坏了,需要重新安装。 - undefined

1

对于在 High Sierra 上使用 xCode 10.1,您需要创建一个名为“empty”的空文件:

.processed_dyld_shared_cache_arm64e

把它复制并粘贴到:
 /Users/{you}/Library/Developer/Xcode/iOS DeviceSupport/{your device version} arm64e/Symbols/System/Library/Caches/com.apple.dyld

确保文件夹为空。对我来说,尝试、等待和移除设备几次才能使其正常工作。


0

我花了两天时间寻找正确的答案。

我尝试了取消配对我的设备并删除~/Library/Developer/Xcode/iOS DeviceSupport/,但对我没有用。对我来说解决方案是将我的MacOS升级到最新版本:Catalina 10.15.1。然后我下载了最新的Xcode11.2.1_GM_Seed。我从新的Xcode中取出了设备支持文件夹,并将其添加到我的旧Xcode中。

我猜测这个link中的设备支持有些问题。因为当我使用它时,我得到了这个错误:"dyld_shared_cache_extract_dylibs failed"

PS:这是一个解决方案,适用于那些想在真实的iPhone(OS 13.2)上运行他们的Swift 4项目的人。


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