尝试从XCode [iOS 5.0.1]运行应用程序时,检测到与已安装的库AFTER INSTALLING SPIRE的UUID不匹配 [英] UUID mismatch detected with the loaded library AFTER INSTALLING SPIRE when trying to run an App from XCode [iOS 5.0.1]

查看:78
本文介绍了尝试从XCode [iOS 5.0.1]运行应用程序时,检测到与已安装的库AFTER INSTALLING SPIRE的UUID不匹配的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经在这里阅读了有关该参数的信息:检测到与已加载的库的UUID不匹配

I've read about this argument here: UUID mismatch detected with the loaded library

投票率最高的解决方案不适用于我,因为我确定我的问题是 Spire .

The most voted solution didn't work for me, because I'm sure in my case the problem is Spire.

当我尝试在Xcode 4.2中将我的应用程序[针对iOS 5.0定位]运行到我的iPhone 4 [iOS 5.0.1 JB]上时,控制台中的输出为:

When I try to run my App [iOS 5.0 targeted] in Xcode 4.2 onto my iPhone 4 [iOS 5.0.1 JB] the output in the console is:


warning: UUID mismatch detected with the loaded library - on disk is:
    /Users/myusername/Library/Developer/Xcode/iOS DeviceSupport/5.0.1 (9A405)/Symbols/System/Library/Frameworks/CoreLocation.framework/CoreLocation
unable to load symbol file: warning: Unable to read symbols for /Library/MobileSubstrate/MobileSubstrate.dylib (file not found).
warning: No copy of MobileSubstrate.dylib found locally, reading from memory on remote device.  This may slow down the debug session.

在安装 Spire 之前,我没有任何Xcode问题.我了解到有人已经找到了解决方案: https://stackoverflow.com/a/8930742/1203837 ,但我在提出建议的方案时不太可行,我也要在这里报告:

Before installing Spire I didn't have any Xcode problem. I've read that somebody already found a solution: https://stackoverflow.com/a/8930742/1203837 but I'm not so practical in approaching the proposed one that I'm going to report also here:

如果已安装Spire并更新至5.0.1,则需要卸载Spire或更新Spire使用的dyld_shared_cache ... Spire dyld缓存位于/var/spire.您需要从ipsw中提取适合您当前固件的缓存.

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 dyld cache is at /var/spire. You need to extract cache appropriate to your current firmware from ipsw.

我真的不会卸载Spire,所以请帮助我了解如何更新Spire使用的dyld_shared_cache".

I really would NOT uninstall Spire, so please help me to find out how to "update dyld_shared_cache which Spire is using" .

编辑:感谢 kexik ,我已经针对该问题测试了可以正常工作的解决方法.

thanks to kexik I've tested a fully working workaround for the problem.

无论您在其中安装了Spire的哪种设备,这都是分步指南(Mac OS):

Whatever device you have installed Spire in, here is the step-by-step guide (Mac OS):

  • 下载原始的iPhone 4S ipsw(

  • download the original iPhone 4S ipsw ( link )

重命名 .zip

提取(通常是在Mac OS X中双击)

extract it (normally, by double-clicking it in Mac OS X)

下载vfdecrypt (

download vfdecrypt ( link ) ed unzip it into the same extracted folder of the ipsw.

打开终端,然后导航到ipsw扩展文件夹(提示:键入cd,然后将文件夹直接拖放到终端"窗口中)

Open Terminal and navigate into the ipsw extraxted folder (tip: type cd then drag-and-drop directly the folder into the Terminal window)

运行命令:

./vfdecrypt -i 038-3763-001.dmg -o decrypted.dmg -k a31ffd506c6711c5a0c52c9f0a2f7208a2f63ad9dd40506e70d80ea20a981eb1312bc774

注意:

-i 038-3763-001.dmg

-i 038-3763-001.dmg

相对于所有您可以在提取的ipsw文件夹(称为根文件系统)中找到的最大.dmg

Is relative to the biggest .dmg in all the ones you can find into the extracted ipsw folder (referred to the Root File System)

-o unlocked.dmg

-o decrypted.dmg

相对于输出解密文件的名称,我称之为解密"(扩展名.dmg是固定的)

Is relative to the name of the output decrypted file, I called "decrypted" (the extension .dmg is fixed)

-k a31ffd506c6711c5a0c52c9f0a2f7208a2f63ad9dd40506e70d80ea20a981eb1312bc774

-k a31ffd506c6711c5a0c52c9f0a2f7208a2f63ad9dd40506e70d80ea20a981eb1312bc774

相对于VFDecrypt Key完全适用于iPhone 4S iOS 5.0.1和038-3763-001.dmg图像.来源是 iPhoneWiki

Is relative to the VFDecrypt Key exactly for iPhone 4S iOS 5.0.1 and 038-3763-001.dmg image. Source is theiPhoneWiki

  • 等待直到过程终止(您将看到一个新的提示行)

  • Wait until the process terminates (You'll see a new prompt line)

打开(安装) decrypted.dmg (双击它),这是iPhone 4S根文件系统.

Open (mount) decrypted.dmg (double-click it) and here it is the iPhone 4S root file system.

导航到文件夹

/System/Library/Caches/com.apple.dyld

/System/Library/Caches/com.apple.dyld

  • (唯一)文件 dyld_shared_cache_armv7 (即在您的桌面上)制作副本,并将其重命名为dyld_shared_cache_armv7.new

    • Make a copy of the (only) file dyld_shared_cache_armv7 (i.e. on your desktop) and rename it to dyld_shared_cache_armv7.new

      复制(我使用DiskAid)到路径中的

    • 到您的iDevice 文件系统中

      Copy it (I used DiskAid) into your iDevice file system at the path

      /var/spire

      /var/spire

      • 导航到该路径(我直接在iPhone上使用了 iFile Cydia App),并在dyld_shared_cache_armv7中重命名了原始的 dyld_shared_cache_armv7. ak在dyld_shared_cache_armv7中重命名最近复制的 dyld_shared_cache_armv7.new.检查新的dyld_shared_cache_armv7是否具有与dyld_shared_cache_armv7.bak相同的属性(我必须将execute属性添加到新文件中),而不是删除dyld_shared_cache_armv7.bak(我建议在删除之前还要备份该文件)如果有问题的话).

        • Navigate into that path (I used iFile Cydia App directly on my iPhone) and rename the original dyld_shared_cache_armv7 in dyld_shared_cache_armv7.bak. Rename now the recently copied dyld_shared_cache_armv7.new in dyld_shared_cache_armv7. Check that the new dyld_shared_cache_armv7 has the same properties than the dyld_shared_cache_armv7.bak (I had to add the execute property to the new file), than delete dyld_shared_cache_armv7.bak (I suggest also to backup that file before deleting it in case of problems).

          保存,退出iFile,从Mac拔出电源并重新启动设备.

          重新打开 XCode 并插入设备.可能不会自动检测到它.在这种情况下,打开 Organizer (窗口->管理器)并删除当前的iPhone(或iPod touch或iPad)配置文件(其中一个显示黄色,而不是名称旁边的绿色). ,拔下电源,重新启动Xcode,重新打开管理器并等待设备配置文件自动安装过程.

          Reopen XCode and plug your device in. It probably won't be automatically detected. In this case open the Organizer (Window -> Organizer) and delete the current iPhone (or iPod touch, or iPad) profile (mine one had the the yellow light instead of the green one near the name), unplug it, reboot Xcode, reopen Organizer and wait your device profile auto installation process.

          现在,您的设备应该可以完全调试您的应用了!安装了Spire的iPhone 4 GSM iOS 5.0.1 JB可以.

          NOW your device should be fully working debugging your Apps! My iPhone 4 GSM iOS 5.0.1 JB with Spire installed does.

          希望本指南对有相同问题的人有帮助.

          Hope this guide will help whoever have the same problem.

          再次感谢kexik的建议!

          推荐答案

          查找具有解密密钥的ipsw.然后,在ipsw上解压缩并在iphone Wiki中搜索该特定固件-您会在其中找到密钥以及带有根文件系统的.dmg文件的名称.提取提取的文件系统中的dmg(使用vfdecrypt或dmg解密器)查找/System/Library/Caches/dyld.../dyld_shared_cache并将该文件复制到我提到的设备上的位置.

          Find an ipsw for which there is the decryption key. Then uzip that ipsw and search iphone wiki for that particular firmware - there you will find a key as well as the name of .dmg file with root filesystem. Extract that dmg (using vfdecrypt or dmg decryptor) in extracted filesystem look for /System/Library/Caches/dyld.../dyld_shared_cache and copy that file to the place on the device I mentioned.

          很抱歉没有给出确切的说明,我是用记忆写的.如果需要,请告诉我,我将逐步准备更准确的信息. ;)

          Sorry for not giving exact instructions, I wrote it from my memory. If needed, let me know and I will prepare more exact step-by-step. ;)

          这篇关于尝试从XCode [iOS 5.0.1]运行应用程序时,检测到与已安装的库AFTER INSTALLING SPIRE的UUID不匹配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆