objective-c 与加载的库检测到 UUID 不匹配
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/215252/
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
UUID mismatch detected with the loaded library
提问by Ronnie Liew
I get a "UUID mismatch" warning at the console when I try to build and run my app on my iPhone.
当我尝试在 iPhone 上构建和运行我的应用程序时,我在控制台收到“UUID 不匹配”警告。
warning: UUID mismatch detected with the loaded library - on disk is: /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.1.sdk/usr/lib/liblockdown.dylib =uuid-mismatch-with-loaded-file,file="/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.1.sdk/usr/lib/liblockdown.dylib
警告:加载的库检测到 UUID 不匹配 - 磁盘上是:/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.1.sdk/usr/lib/liblockdown.dylib =uuid-mismatch-with-loaded-file ,file="/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.1.sdk/usr/lib/liblockdown.dylib
Anyone has this issue and managed to resolve the warning ?
任何人都有这个问题并设法解决了警告?
回答by Andrew Vilcsak
Uninstalling and reinstalling both the iOS on the device and the SDK did not fix this for me. The only way I was able to get around this issue was by deleting the DeviceSupport files for the 4.2.1 iOS version, which can be found at:
卸载并重新安装设备上的 iOS 和 SDK 并没有为我解决这个问题。我能够解决这个问题的唯一方法是删除 4.2.1 iOS 版本的 DeviceSupport 文件,可以在以下位置找到:
/Developer/Platforms/iPhoneOS.platform/DeviceSupport/
After deleting the files and restarting Xcode, I plugged in my device and was prompted to restore the symbol files from the device itself - it took about 5 minutes and after this, everything was back to working perfectly.
删除文件并重新启动 Xcode 后,我插入了我的设备,并提示我从设备本身恢复符号文件 - 大约需要 5 分钟,之后,一切都恢复正常。
回答by Jin Liew
As Eric mentioned, this is due to the libraries on the phone being different to those in XCode.
正如 Eric 所提到的,这是因为手机上的库与 XCode 中的库不同。
I came across this issue when I try to debug an app from Xcode using: iPhone: iOS 4.2 beta 2 XCode: iOS SDK 4.1
当我尝试从 Xcode 调试应用程序时遇到了这个问题:iPhone: iOS 4.2 beta 2 XCode: iOS SDK 4.1
However, if I try to debug using XCode with iOS SDK 4.2 beta 2, then it works fine.
但是,如果我尝试使用带有 iOS SDK 4.2 beta 2 的 XCode 进行调试,则它可以正常工作。
From this, I conclude that the SDK in XCode must match the version of iOS on the phone for debugging to work.
由此,我得出结论,XCode 中的 SDK 必须与手机上的 iOS 版本匹配才能进行调试。
Ensure the two match and you should be able to debug your app.
确保两者匹配,您应该能够调试您的应用程序。
回答by brian.clear
I tried the following
我尝试了以下
CLEAN ALL - didnt work
CLEAN ALL - 没有用
DELETE APP ON PHONE/ DELETE BUILD/ RESTART XCODE - didnt work
删除手机上的应用程序/删除构建/重新启动 XCODE - 没有用
THIS DID WORK
这确实有效
Plug out phone
拔掉电话
Delete Symbol files folder
删除符号文件文件夹
/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148)
Restart xcode
重启xcode
plug in phone
插入电话
Organizer pops up with message about Unknown IOS detected
管理器弹出有关检测到未知 IOS 的消息
HIt Ok to collect
打好收集
Takes about a minute.
大约需要一分钟。
the folder is recreated
文件夹被重新创建
/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148)
App deployed to device fine after.
应用程序部署到设备后很好。
I took the folder from Trash for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148) and compared it in Deltawalker to the new version of
我从垃圾箱中取出 /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148) 的文件夹,并将其在 Deltawalker 中与新版本的
/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148)
and only timestamp differences. The number of files and size of each was identical.
并且只有时间戳差异。每个文件的数量和大小是相同的。
Theres 380 files in
/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148)
POSSIBLE CAUSE FOR ME
我的可能原因
I had downloaded the GM seed of Xcode and iOS 4.2 and tested on another phone.
我已经下载了 Xcode 和 iOS 4.2 的 GM 种子并在另一部手机上进行了测试。
My IPhone 4 I upgraded from ITunes like a normal customer.
我的 iPhone 4 我像普通客户一样从 iTunes 升级。
Then tried to deploy my app from this GM seed version of Xcode to public released version of iOS 4.2.1.
然后尝试将我的应用程序从 Xcode 的 GM 种子版本部署到公开发布的 iOS 4.2.1 版本。
回答by k3a
If you have Spire installed and you updated to 5.0.1 you need to uninstall Spire or update dyld_shared_cache which Spire is using...
如果您安装了 Spire 并且更新到 5.0.1,则需要卸载 Spire 或更新 Spire 正在使用的 dyld_shared_cache...
Spire dyld cache is at /var/spire. You need to extract cache appropriate to your current firmware from ipsw. :)
Spire dyld 缓存位于 /var/spire。您需要从 ipsw 中提取适合您当前固件的缓存。:)
回答by sneeden
Hey thanks! I got it working. * Using Organizer I reflashed the firmware
嘿谢谢!我让它工作了。* 使用 Organizer 我刷新了固件
In Organizer, enable the phone (right click -> Add device....)
Close XCode
Delete the $project/build/*
Delete /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1
Restart XCode
Go to organizer and agree to let it download what it wants
In Organizer, again right click -> Add Device....
Updated Code Signature
command + Y
在管理器中,启用手机(右键单击 -> 添加设备....)
关闭 XCode
删除 $project/build/*
删除/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1
重启 XCode
转到组织者并同意让它下载它想要的东西
在管理器中,再次右键单击 -> 添加设备...。
更新代码签名
命令 + Y
It debugged just fine after this.
在此之后它调试得很好。
Thx to all who input :)
感谢所有输入的人:)
回答by Shiun
The current final SDK is only 4.2 while the iOS out in the wild on the devices is 4.2.1. When you first plug in your device in XCode, the Organizer window will collect the debug symbols for your device. If you need to do this again, you can explicitly delete the /Developer/Platforms/iPhoneOS.platform/DeviceSupport/. Funny thing is that occasionally you still get those annoying "Unable to find symbols" error. But at least you'll be able to debug on device now.
当前的最终 SDK 仅为 4.2,而在设备上发布的 iOS 版本为 4.2.1。当您第一次在 XCode 中插入您的设备时,管理器窗口将收集您设备的调试符号。如果您需要再次执行此操作,您可以明确删除 /Developer/Platforms/iPhoneOS.platform/DeviceSupport/。有趣的是,有时您仍然会遇到那些烦人的“无法找到符号”错误。但至少您现在可以在设备上进行调试。
回答by Sam Soffes
Completely uninstall the development tools with:
使用以下命令完全卸载开发工具:
$ sudo /Developer/Library/uninstall-devtools --mode=all
(obviously change the path if you installed it somewhere besides the default location). After you install development tools, you should restart your machine. Now reinstall the development tools. This solved this problem for me.
(显然,如果您将其安装在默认位置之外的其他地方,请更改路径)。安装开发工具后,您应该重新启动机器。现在重新安装开发工具。这为我解决了这个问题。
I tried restoring my device before I reinstalled the development tools and it didn't solve anything. If reinstalling the development tools doesn't solve this, I'd probably try restoring your device. Hope that helps someone.
在重新安装开发工具之前,我尝试恢复我的设备,但没有解决任何问题。如果重新安装开发工具不能解决这个问题,我可能会尝试恢复您的设备。希望能帮助某人。
回答by Eric Albert
It's benign; don't worry about it. The message is telling you that a library on the device isn't exactly the same as a library in the SDK, but the difference between the libraries in this case isn't one which has any visible impact.
这是良性的;别担心。该消息告诉您设备上的库与 SDK 中的库不完全相同,但在这种情况下,库之间的差异不会产生任何明显影响。
回答by CPLamb
If you unplug the device from mac, run the app on device. The app works except you won't be able to utilize console to debug any problems on device. After searching for answers on developer forums, it is a very common problem among developers. However, there is no known solutions except a few possible tips.
如果您从 mac 上拔下设备,请在设备上运行该应用程序。该应用程序可以正常工作,除非您无法使用控制台来调试设备上的任何问题。在开发者论坛上搜索答案后,这是开发者中非常普遍的问题。但是,除了一些可能的提示之外,没有已知的解决方案。
This is an answer from another forum, and IT WORKS! I think it was from webbuilders.com??
这是来自另一个论坛的答案,它有效!我认为它来自 webbuilders.com??
Go figure???
去搞清楚???
access this URL for a good description; http://webbuilders.wordpress.com/2009/03/19/iphone-uuid-mismatch-detected-with-the-loaded-library/
访问此 URL 以获得良好的描述; http://webbuilders.wordpress.com/2009/03/19/iphone-uuid-mismatch-detected-with-the-loaded-library/
回答by lmprods
I believe this happens when the when Xcode/iPhone SDK is not up to date with the device's installed frameworks. Make sure the device software is up-to-date and install the latest version of Xcode/iPhone SDK - worked for me.
我相信当 Xcode/iPhone SDK 与设备安装的框架不是最新的时候会发生这种情况。确保设备软件是最新的并安装最新版本的 Xcode/iPhone SDK - 对我有用。

