iOS 4.2.1 开发 SDK 中缺少 libXcodeDebuggerSupport.dylib

Posted

技术标签:

【中文标题】iOS 4.2.1 开发 SDK 中缺少 libXcodeDebuggerSupport.dylib【英文标题】:libXcodeDebuggerSupport.dylib is missing in iOS 4.2.1 development SDK 【发布时间】:2010-11-26 10:08:15 【问题描述】:

注意:在 Xcode 4.3.2 上得到这个?查看this question的答案。

注意:创建符号链接以使用 4.2 库似乎可以正常工作

cd /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1\ \(8C148\)/Symbols/
sudo ln -s ../../4.2\ \(8C134\)/Symbols/Developer

从 4.2.0(我相信是测试版)升级到 4.2.1 后,libXcodeDebuggerSupport.dylib 文件丢失,导致:

warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148)/Symbols/Developer/usr/lib/libXcodeDebuggerSupport.dylib (file not found).

我猜这不好。查看有问题的目录,我注意到:

.../DeviceSupport/4.2 (8C134)/Symbols/Developer/usr/lib/libXcodeDebuggerSupport.dylib

但是

.../DeviceSupport/4.2.1 (8C148)/Symbols/System/
.../DeviceSupport/4.2.1 (8C148)/Symbols/usr/

以上两个目录组成了 4.2.1 文件夹中的所有内容。没有“开发者”文件夹。检查那里的 /usr/ 目录,我发现 lib 目录中也没有 libXcodeDebuggerSupport.dylib 文件,所以 ln -s'ing 不是一个选项。

值得一提:升级后,我插入了 iPad,不得不在 Xcode 管理器中单击“用于开发”。这样做时,我收到一条关于该版本缺少符号的消息,Xcode 继续生成这样的符号,然后失败了。我恢复了 iPad 并再次“用于开发”,没有出现任何关于丢失符号的信息...

更新:删除 /Developer 并从头开始重新安装 Xcode不能解决此问题。

更新2:我刚刚意识到重新安装Xcode后,

.../DeviceSupport/4.2 (8C134)/Symbols

现在是一个符号链接,

lrwxr-xr-x  1 root  admin        36 Dec  3 17:17 Symbols -> ../../Developer/SDKs/iPhoneOS4.2.sdk

并且有问题的目录有相应的文件。也许这只是以相同方式链接 4.2.1 目录的问题?我会试试看,看看 Xcode 是不是吓坏了。如果有这个文件的人可以提供一个 md5 的总和,那就太好了。这就是它对我说的:

$ md5 /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2\ \(8C134\)/Symbols/Developer/usr/lib/libXcodeDebuggerSupport.dylib 
MD5 (/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2 (8C134)/Symbols/Developer/usr/lib/libXcodeDebuggerSupport.dylib) 
    = 08f93a0a2e3b03feaae732691f112688

如果 MD5 和的输出相同

$ md5 /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1\ \(8C148\)/Symbols/Developer/usr/lib/libXcodeDebuggerSupport.dylib 

那么我们都准备好了。

【问题讨论】:

当我执行“sudo ln ...”时,我收到“符号链接级别太多”错误。虽然我明白这意味着什么,但我不知道如何处理它!建议? 您从哪个目录执行此操作? (tyoe 'pwd') 你能把实际的完整命令粘贴到评论中,包括你执行它的位置吗? 【参考方案1】:

我刚刚为解决这个问题所做的是:

cd /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148)/Symbols

创建的符号链接丢失了:

ln -s ../../4.2\ \(8C134\)/Symbols/Developer/ Developer

它解决了我的问题。

【讨论】:

在我这样做之前一直在等待人们确认 MD5 和是否匹配,但没关系。现在试试... 这似乎工作正常,实际上。谨慎建议其他人这样做,但到目前为止,这是唯一的解决方案,直到有人想出一些东西,或者 Apple 解决了他们的错误。 考虑到 NP Compete 的其他回答(“根本不使用 4.2.1”),听起来 dylib 实际上是可以互换的。接受这个答案。 我收到“权限被拒绝”.. 有人知道谁来解决这个问题吗? 你需要使用'sudo'。尝试问题顶部的两个命令(不是这个答案),因为它们应该适用于任何人。【参考方案2】:

如果您没有任何损失,只需转储整个 Developer 文件夹(或 Developer4.2 或您所称的)。使用官方发布的 ios 4.2 SDK -“Xcode 3.2.5 和 iOS SDK 4.2”重新安装。 我这样做了,发现所有东西都只安装在 4.2 (8C134) 下,根本不使用 4.2.1。

【讨论】:

它没有这样做。您能否确认您不再收到此信息? 我还没来得及做这件事(我担心之后可能会出现整个密钥生成问题),但我会在几天内尝试完成。跨度> 现在结束了 - 不,不起作用。新的 Xcode 安装想要为 iPad 创建符号内容,它开始执行一段时间然后完成,但最后上面的目录是空的。 我使用了 xcode_3.2.5_and_ios_sdk_4.2_final.dmg - 从 Apple 下载的最新版本,dylib 安装在 4.2 下。你用的是哪一个? 与我使用的文件完全相同。 (对不起,迟到的回应顺便说一句)【参考方案3】:

我没有足够的分数来评论接受的答案。 Trinca 的解决方案对我有用。

虽然只有一个补充: 当我尝试执行 ln 命令时,我在 Xterm 中获得了拒绝的权限。

只需要输入

sudo xterm 并输入我的系统管理员密码 并在新终端中重复该过程。

我想知道有多少人因为这个问题而重新安装 Xcode。 如果人们在没有检查更好的解决方案的情况下继续重新安装,这绝对是浪费时间。 Apple 必须为 sdk 运行时检查保留足够的审阅者,而不仅仅是我们的应用程序 :)。

【讨论】:

我更新了答案顶部的解决方案(不是接受的解决方案),在 ln 行之前使用“sudo”。【参考方案4】:

删除文件夹并不能正确卸载 Xcode。

以下是从随安装程序分发的 PDF 自述文件中卸载 Xcode 的步骤:

卸载 Xcode 开发者工具

卸载 Xcode 开发者工具 启动卷以及 目录,来自终端窗口 类型:

$ sudo <Xcode>/Library/uninstall-devtools -mode=all

要删除启动卷上的底层开发人员内容, 但离开目录和 支持文件原封不动,从 终端窗口类型:

$ sudo <Xcode>/Library/uninstall-devtools --mode=systemsupport

仅删除 UNIX 开发支持 启动卷,但离开 目录和支持文件 未触及,来自终端窗口 类型:

$ sudo <Xcode>/Library/uninstall-devtools --mode=unixdev

最后,只卸载你的目录 可以简单地将其拖到垃圾箱,或者 从终端窗口类型:

$ sudo <Xcode>/Library/uninstall-devtools --mode=xcodedir

注意:之前版本的卸载程序 Xcode 开发者工具不会 清除系统中的所有内容 适当地。你应该使用那个 与这些 Xcode 开发人员一起安装 工具。

我的直觉告诉我,这个过程将正确地删除/替换 dylib,比如给你带来麻烦的那个。至少,所有尝试都会花费您时间。


【讨论】:

我很确定上面的说明在那里,所以你不必删除 Xcode 以外的任何东西。我的意思是,你多久删除一次整个“/Applications”目录只是为了摆脱一个麻烦的应用程序?无论如何,如果我没有东西可以尝试,我会试一试。【参考方案5】:

您是否在 ~/Library/iTunes/iPhone Software Updates 中有图像,您可以将其添加到 xcode 管理器并从那里获取符号。

我也遇到了这个问题,这对我不起作用:

退出 XCode 删除文件夹 /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1\ (8C148) 插入你的 iPhone 调出组织者。它应该会要求您从手机中收集符号。 等待它收集并处理您手机上的符号。

【讨论】:

我确实在 ~/Library/iTunes/iPad 软件更新中有软件映像(注意 iPad,不是 iPhone),它实际上在 Organizer 中丢失了,我可以很好地添加它,但不确定如何从中提取符号。右键单击仅提供“删除”和“在 Finder 中显示”两个选项。【参考方案6】:

为了解决这个问题,我简单地将以下目录复制到 /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148)/Symbols 目录:

/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/usr/lib/info/
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/Developer/

复制后,设备上的调试工作正常,控制台不再收到错误消息。

希望这可以帮助其他在 4.2.1 设备上进行调试的人。 节日快乐!

【讨论】:

【参考方案7】:

我所做的只是导航到 /Developer/Platforms/iPhoneOS.platform/DeviceSupport/Latest/Symbols/ 并将整个 Developer 文件夹放入 /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148 )/符号/

工作! :)

【讨论】:

这与符号链接完全一样,只是它占用更多空间。

以上是关于iOS 4.2.1 开发 SDK 中缺少 libXcodeDebuggerSupport.dylib的主要内容,如果未能解决你的问题,请参考以下文章

ffmpeg缺少 libx264依赖时的安装方法 (linux 下)

CUDA 缺少 libGL.so libGLU.so 和 libX11.so

使 Apple 提供的 Page Control 示例符合 iOS5 SDK 时缺少根视图控制器

谷歌移动广告 SDK Ios7 缺少音频框架

升级到 Xcode 3.2.5 后“缺少基本 SDK”

缺少 Base SDK 怎么办?