检测到已加载库的UUID不匹配

时间:2008-10-18 16:45:54

标签: iphone objective-c cocoa-touch

当我尝试在iPhone上构建并运行我的应用程序时,我在控制台上收到“UUID不匹配”警告。

  

警告:检测到UUID不匹配   加载的库 - 在磁盘上是:   /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.1.sdk/usr/lib/liblockdown.dylib   = UUID-错配与加载的文件,文件=“/开发商/平台/ iPhoneOS.platform /开发商/软件开发工具包/ iPhoneOS2.1.sdk / usr / lib中/ liblockdown.dylib

是否有人遇到此问题并设法解决警告?

14 个答案:

答案 0 :(得分:55)

卸载并重新安装设备上的iOS和SDK并没有为我解决这个问题。我能够解决这个问题的唯一方法是删除4.2.1 iOS版本的DeviceSupport文件,可以在以下位置找到:

/Developer/Platforms/iPhoneOS.platform/DeviceSupport/

删除文件并重新启动Xcode后,我插入设备并提示从设备本身恢复符号文件 - 大约需要5分钟,之后一切恢复正常。

答案 1 :(得分:8)

正如Eric所说,这是由于手机上的库与XCode中的库不同。

当我尝试使用以下方法从Xcode调试应用时,我遇到了这个问题: iPhone:iOS 4.2 beta 2 XCode:iOS SDK 4.1

但是,如果我尝试使用iOS SDK 4.2 beta 2的XCode进行调试,那么它可以正常工作。

由此我得出结论,XCode中的SDK必须与手机上的iOS版本相匹配才能进行调试。

确保两者匹配,您应该能够调试您的应用。

答案 2 :(得分:6)

我尝试了以下

清洁所有 - 没有工作

删除手机上的应用程序/删除构建/重新启动XCODE - 没有工作

这个工作

拔出手机

删除符号文件夹

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

重启xcode

插上手机

管理器会弹出有关检测到未知IOS的消息

好的收集

大概一分钟。

重新创建文件夹

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

应用程序在部署到设备后很好。

我从垃圾箱中取出了该文件夹     /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1(8C148) 并在Deltawalker中进行了比较

的新版本
/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148)

并且只有时间戳差异。每个文件的数量和大小都相同。

Theres 380 files in 

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

对我来说可能是原因

我已经下载了Xcode和iOS 4.2的转基因种子,并在另一部手机上进行了测试。

我的iPhone 4我像普通客户一样从ITunes升级。

然后尝试将我的应用程序从此Xcode的GM种子版本部署到iOS 4.2.1的公开发布版本。

答案 3 :(得分:4)

如果您安装了Spire并且更新到5.0.1,则需要卸载Spire或更新Spire正在使用的dyld_shared_cache ...

Spire dyld缓存位于/ var / spire。您需要从ipsw中提取适合当前固件的缓存。 :)

答案 4 :(得分:3)

使用以下命令完全卸载开发工具:

$ sudo /Developer/Library/uninstall-devtools --mode=all

(如果你将它安装在默认位置之外的某处,显然会更改路径)。安装开发工具后,应重新启动计算机。现在重新安装开发工具。这为我解决了这个问题。

我尝试在重新安装开发工具之前恢复设备并且没有解决任何问题。如果重新安装开发工具无法解决此问题,我可能会尝试恢复您的设备。希望有所帮助。

答案 5 :(得分:3)

目前的最终SDK仅为4.2,而设备上的iOS版本为4.2.1。当您首次在XCode中插入设备时,管理器窗口将收集设备的调试符号。如果需要再次执行此操作,可以显式删除/Developer/Platforms/iPhoneOS.platform/DeviceSupport/。有趣的是,偶尔你仍会得到那些令人讨厌的“无法找到符号”的错误。但至少你现在可以在设备上进行调试了。

答案 6 :(得分:3)

嘿谢谢!我搞定了。 *使用管理器我重新刷新了固件

  • 在管理器中,启用手机(右键单击 - >添加设备....)

  • 关闭XCode

  • 删除$ project / build / *

  • 删除/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1

  • 重启XCode

  • 前往组织者并同意让它下载所需内容

  • 在管理器中,再次右键单击 - >添加设备....

  • 更新了代码签名

  • 命令+ Y

此后调试就好了。

向所有输入的人发送:)

答案 7 :(得分:2)

这是良性的;别担心。该消息告诉您设备上的库与SDK中的库不完全相同,但在这种情况下,库之间的差异不是具有任何明显影响的库。

答案 8 :(得分:1)

如果您从mac上拔下设备,请在设备上运行该应用。该应用程序工作,但您将无法利用控制台调试设备上的任何问题。在开发人员论坛上搜索答案后,这是开发人员中非常常见的问题。但是,除了一些可能的提示之外,没有已知的解决方案。

这是另一个论坛的答案,而且它的工作原理!我认为这是来自webbuilders.com ??

去图???

访问此网址以获得良好的说明; http://webbuilders.wordpress.com/2009/03/19/iphone-uuid-mismatch-detected-with-the-loaded-library/

答案 9 :(得分:1)

我相信当Xcode / iPhone SDK与设备安装的框架不同时,会发生这种情况。确保设备软件是最新的并安装最新版本的Xcode / iPhone SDK - 为我工作。

答案 10 :(得分:1)

我也有这个问题。

我所做的只是Quit XCode,Interface Builder。 启动XCode,重新打开项目。 清理所有目标。 重建。 在这种情况下我的iPad上的调试工作。

答案 11 :(得分:1)

我知道这是一篇旧帖子,但也许我的解决方案会帮助其他人,因为我最近遇到过这个问题。

我最近通过下载SDK和Xcode更新升级到iOS SDK 4.1 Beta 3。安装后我得到了与原始海报相同的错误。事实证明,我只需在 iPhone 上下载并安装相应的iOS版本。

在我的iPhone上安装iOS Beta 3后,恢复了手机,重新编译并运行,所有内容都恢复原状。

答案 12 :(得分:1)

为了任何像我一样通过Google发现此问题的人的利益,我在以下情况下开始收到此消息:

  1. 我一直在使用与我的个人开发者计划帐户绑定的配置文件开发应用程序;
  2. 我将应用转换为使用与其他开发者计划帐户绑定的配置文件(我开发的客户端最终设置了帐户)。
  3. 对我有用的修复是退出Xcode,删除项目的构建目录,然后重新启动Xcode并重建。 我怀疑Xcode中的“全部清除”可能也有效,但直到事后我才想到这一点。

    根据以下评论,“全部清除”毕竟不会工作。

答案 13 :(得分:0)

我认为这不一定是建议的良性,所选答案并不涉及如何停止警告。以下应该停止警告:

  1. 从Mac上拔下iPhone或iPad,
  2. 退出Xcode
  3. 删除构建目录
  4. 启动Xcode,插入iPhone并重试
  5. YMMV,但这对我有用。