iOS 4.2.1 开发 SDK 中缺少 libXcodeDebuggerSupport.dylib

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/4284277/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-30 18:09:55  来源:igfitidea点击:

libXcodeDebuggerSupport.dylib is missing in iOS 4.2.1 development SDK

iphonexcodeiosios4

提问by Kalle

Note: getting this on Xcode 4.3.2? Check out the answer to this question.

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

Note: creating a symbolic link to use the 4.2 lib seems to work fine

注意:创建一个符号链接来使用 4.2 库似乎工作正常

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

After upgrading from 4.2.0 (beta, I believe) to 4.2.1, the libXcodeDebuggerSupport.dylib file is missing, which results in:

从 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).

which I guess isn't good. Looking at the directory in question I note:

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

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

but

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

the above two dirs make up all the content in the 4.2.1 folder. No "Developer" folder. Checking the /usr/ dir there, I find no libXcodeDebuggerSupport.dylib file in the lib dir either, so ln -s'ing isn't an option.

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

Worth mentioning: after the upgrade, I plugged the iPad in and had to click "Use for development" in Xcode organizer. Doing so, I got a message about symbols missing for that version, and Xcode proceeded to generate such, then failed. I restored the iPad and did "Use for development" again, and nothing about missing symbols appeared...

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

Update: deletion of /Developer and reinstallation of Xcode from scratch does notfix this issue.

更新:中/从无到有的Xcode开发和重新安装删除并没有解决这个问题。

Update 2: I just realized that after the reinstall of Xcode,

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

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

is now a symbolic link,

现在是一个符号链接,

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

And the directory in question has the appropriate files. Maybe this is simply a matter of linking the 4.2.1 dir in the same fashion? I'll try that and see if Xcode freaks out. If someone who has this file could provide a md5 sum that would be splendid. This is what it says for me:

并且有问题的目录具有适当的文件。也许这只是以相同的方式链接 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

If the MD5 sum is identical to the output of

如果 MD5 和与输出相同

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

then we're all set.

那么我们都准备好了。

采纳答案by Trinca

What I just did to solve this problem was:

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

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

and created the symlink was missing:

并创建了缺少的符号链接:

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

It solves my problem.

它解决了我的问题。

回答by SheshPai

I do not have enough points to comment to the accepted answer. Trinca's solution works for me.

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

Only one addition though: I got a permission denied in Xterm when I tried to execute the ln command.

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

just had to enter

只需要输入

sudo xterm and enter my admin password for the system and repeat the process in the new terminal.

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

I am wondering how many people out there are re-installing Xcode because of this issue. It is definitely a huge waste of time, if people went ahead with re-installation without checking for a better solution. Apple has to keep enough reviewers for sdk runtime checks, and not just for our apps :).

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

回答by NP Compete

If you do not have anything to lose, just dump the whole Developer folder (or Developer4.2 or however you call it). Reinstall from scratch with the official release of iOS 4.2 SDK - "Xcode 3.2.5 and iOS SDK 4.2". I did that and found everything gets installed under 4.2 (8C134) only, and does not use 4.2.1 at all.

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

回答by Shaggy Frog

Trashing the folder does not properly uninstall Xcode.

删除文件夹无法正确卸载 Xcode。

Here are the steps to uninstall Xcode from the PDF readme distributed with the installer:

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

Uninstalling Xcode Developer Tools

To uninstall Xcode developer tools on the boot volume along with the directory, from a Terminal window type:

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

To remove the underlying developer content on the boot volume, but leave the directory and supporting files untouched, from a Terminal window type:

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

To just remove the UNIX development support on the boot volume, but leave the directory and supporting files untouched, from a Terminal window type:

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

Finally, to just uninstall the directory you can simply drag it to the trash, or from a Terminal window type:

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

NOTE:The uninstaller that ships with previous versions of the Xcode developer tools will not clean everything off of your system properly. You should use the one installed with these Xcode developer tools.

卸载 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 开发人员工具一起安装的那个。

My gut feeling tells me that this process will properly nuke/replace dylibs like the one that is causing you trouble. At the very least, all trying this will cost you is time.

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



回答by Tom Belote

Do you have the image in ~/Library/iTunes/iPhone Software Updates you could add that to the xcode organizer and get the symbols from there maybe.

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

I had this issue as well and this did not work for me:

我也有这个问题,但这对我不起作用:

  • Quit XCode
  • Delete the folder /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1\ (8C148)
  • Plug in your iPhone
  • Bring up the organizer. It should ask you to collect the symbols from your phone.
  • Wait while it collects and processes the symbols off your phone.
  • 退出 XCode
  • 删除文件夹/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1\ (8C148)
  • 插入你的 iPhone
  • 提出组织者。它应该要求您从手机中收集符号。
  • 等待它收集和处理您手机上的符号。

回答by canzhiye

What I did was just navigate over to /Developer/Platforms/iPhoneOS.platform/DeviceSupport/Latest/Symbols/ and just drop the whole Developer folder into /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148)/Symbols/

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

Worked! :)

工作了!:)

回答by Fredrick

To resolve this issue, I simply copied the the following directories to the /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148)/Symbols directory:

为了解决这个问题,我只需将以下目录复制到 /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/

Once copied over, debugging on the device works normally and no more error messages in the console are received.

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

Hopefully this helps others that are struggling with debugging on 4.2.1 devices. Happy Holidays!

希望这有助于在 4.2.1 设备上调试的其他人。节日快乐!