Хорошо, после долгих испытаний и раскопок файловой системы ... Я решил это.Оказывается, есть только несколько файлов, которые не загружаются с устройства (по неизвестным пока причинам).Они связаны с кешем dyld (не знаю, что это такое и для чего оно).Вот шаги, чтобы сделать ваше устройство 4.2.1 отлаживаемым в XCode 4.2 и 4.3.x:
- Закрыть Xcode
- Перейти к:
~/Library/Developer/Xcode/iOS DeviceSupport/4.2.1 (8C148)/Symbols/System/Library/Caches/com.apple.dyld/
Примечание: если у вас нет этой папки, запустите Xcode, подключите ваше устройство и дождитесь появления ошибки 0xC002 в Organizer - папка должна быть создана к этому времени. - СоздатьТам есть 3 пустых файла:
.copied_dyld_shared_cache_armv6
.processed_dyld_shared_cache_armv6
dyld_shared_cache_armv6
- Запустите Xcode и наслаждайтесьсвет рядом с вашим устройством со временем загорается зеленым цветом:)
Или, для любителей терминала:
cd ~/Library/Developer/Xcode/iOS\ DeviceSupport/4.2.1\ \(8C148\)/Symbols/System/Library/Caches/com.apple.dyld/
touch .copied_dyld_shared_cache_armv6
touch .processed_dyld_shared_cache_armv6
touch dyld_shared_cache_armv6
Это, очевидно, хак, но он отлично работает для отладки, и я пока не заметил никаких побочных эффектов.Наслаждайтесь!Небольшое обновление:Я протестировал его на своем снежном барсе, с Xcode 4.2 (самый последний на сегодняшний день), и, хотя устройство активно в органайзере и возможно запустить приложение на устройстве, я получаю черный экран при запуске.Он устанавливается, но, очевидно, отладчик не может подключиться.У меня была такая же проблема с 4.0.2, когда проблема 0xC002 еще не возникла, поэтому я думаю, что она не связана и может даже не случиться с другими.Тем не менее, 0xC002 все еще решен.На моей основной машине для разработки с Lion и Xcode 4.3.2 устройство отлично отлаживается.