Обнаружено несоответствие UUID с загруженной библиотекой ПОСЛЕ УСТАНОВКИ SPIRE при попытке запустить приложение из XCode [iOS 5.0.1] - PullRequest
2 голосов
/ 11 февраля 2012

Я читал об этом аргументе здесь: Обнаружено несоответствие UUID с загруженной библиотекой

Решение с наибольшим количеством голосов не сработало для меня, потому что я уверен, что в моем случае проблема Spire .

Когда я пытаюсь запустить свое приложение [нацеленный на iOS 5.0] в Xcode 4.2 на мой iPhone 4 [iOS 5.0.1 JB], вывод в консоли:

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, но я не настолько практичен в подходе к предлагаемому, о котором я собираюсь сообщить также здесь:

Если у вас установлен Spire и вы обновились до 5.0.1, вам нужно удалить Spire или обновить dyld_shared_cache, который использует Spire ... Spy dyld cache находится в / var / spire. Вам нужно извлечь кеш, соответствующий вашей текущей прошивке, из ipsw.

Я действительно НЕ удаляю Spire, поэтому, пожалуйста, помогите мне узнать, как "обновить dyld_shared_cache, который использует Spire".


РЕДАКТИРОВАТЬ: благодаря kexik Я протестировал полностью рабочий обходной путь для решения проблемы.

На каком бы устройстве вы не установили Spire, вот пошаговое руководство (Mac OS) :

  • загрузка оригинальный iPhone 4S ipsw ( ссылка )

  • переименовать это из .ipsw в .zip

  • извлечь его (обычно, дважды щелкнув по нему в Mac OS X)

  • download vfdecrypt ( link ) ed распакуйте его в ту же распакованную папку ipsw.

  • Откройте терминал и перейдите в дополнительную папку ipsw (совет: введите cd, затем перетащите папку прямо в окно терминала)

  • Выполнить команду :

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

ПРИМЕЧАНИЕ:

-i 038-3763-001.dmg

Относительно самого большого .dmg из всех, которые вы можете найти в извлеченной папке ipsw (называемой корневой файловой системой)

-o decrypted.dmg

Относительно имени выходного расшифрованного файла, который я назвал "расшифрованным" (расширение .dmg исправлено)

-k a31ffd506c6711c5a0c52c9f0a2f7208a2f63ad9dd40506e70d80ea20a981eb1312bc774

Относительно ключа VFDecrypt именно для iPhone 4S iOS 5.0.1 и изображения 038-3763-001.dmg. Источник theiPhoneWiki

  • Дождаться завершения процесса (Вы увидите новую строку приглашения) completed vfdecrypt process

  • Открыть ( mount ) decrypted.dmg (дважды щелкните по нему), и здесь это корневая файловая система iPhone 4S.

  • Перейдите в папку

/ System / Library / кэша / com.apple.dyld

  • Создайте копию (только) файла dyld_shared_cache_armv7 (т.е. на вашем рабочем столе) и переименуйте его в dyld_shared_cache_armv7.new

  • Скопируйте его (я использовал DiskAid) в вашу файловую систему iDevice по пути

/ вар / Шпиль

  • Перейдите по этому пути (я использовал iFile Cydia App прямо на моем iPhone) и переименуйте оригинальное dyld_shared_cache_armv7 в dyld_shared_cache_armv7.bak. Переименуйте теперь недавно скопированный dyld_shared_cache_armv7.new в dyld_shared_cache_armv7. Проверьте, что новый dyld_shared_cache_armv7 имеет те же свойства , что и dyld_shared_cache_armv7.bak (мне пришлось добавить свойство execute в новый файл), чем удалите dyld_shared_cache_armv7.bak (я предлагаю также сделать резервную копию этого файла перед его удалением). в случае проблем).

  • Сохранение, выход из iFile, отключение от компьютера Mac и перезагрузка устройства .

  • Снова откройте XCode и подключите ваше устройство. Вероятно, оно не будет обнаружено автоматически. В этом случае откройте Органайзер (Окно -> Органайзер) и удалите текущий профиль iPhone (или iPod touch, или iPad) (у моего был желтый индикатор вместо зеленого рядом с названием) отключите его, перезагрузите Xcode, снова откройте Организатор и дождитесь автоматической установки профиля вашего устройства.

СЕЙЧАС ваше устройство должно работать полностью, отлаживая ваши приложения! Мой iPhone 4 GSM iOS 5.0.1 JB с установленным Spire делает.

Надеюсь, что это руководство поможет тому, у кого есть такая же проблема.

Еще раз спасибо kexik за его предложения!

1 Ответ

1 голос
/ 12 февраля 2012

Найдите ipsw, для которого есть ключ дешифрования.Затем распакуйте этот ipsw и найдите в iphone wiki именно эту прошивку - там вы найдете ключ и имя файла .dmg с корневой файловой системой.Извлеките этот dmg (используя vfdecrypt или dmg decryptor) в извлеченную файловую систему, найдите /System/Library/Caches/dyld.../dyld_shared_cache и скопируйте этот файл в место на устройстве, которое я упоминал.

Извините, что не дал точных инструкций, я написал это из своей памяти.Если нужно, дайте мне знать, и я буду готовить более точно шаг за шагом.;)

...