Xcode 4.3 и отладка на iOS 3.x устройства
Я только что обновил Xcode до версии 4.3 через Mac App Store на прошлой неделе и обнаружил, что больше не могу отлаживать на iOS 3.x устройств. У меня есть iPhone 3G под управлением iOS 3.1.3 и iPad 1-го поколения под управлением iOS 3.2.
На обоих устройствах Xcode 4.3 устанавливает приложение и пытается запустить его. Приложение отображает заставку, но никогда не завершает загрузку. В окне вывода отладчика отсутствуют сообщения об ошибках или сообщения любого рода. Моя единственная подсказка - это когда я нажимаю на кнопку. кнопка паузы я вижу, что устройство / Xcode застряло в следующей функции: addimagesToAllImages, которая, по-видимому, связана с DYLD от Apple.
Отладка отлично работает на устройствах iOS 5 и работала на предыдущей установке Xcode 4.2. Я перезагрузил свой Mac, iOS 3.X устройств без изменений в поведении, включая очистку всего кэша(ов).
У кого-нибудь есть идеи относительно того, что происходит? Спасибо за помощь.
4 ответа:
Хорошо, я понял это с помощью подсказки младшего Б об отладчике. Я зашел в раздел "Управление схемами", выбрал схему, над которой работаю, и нажал"редактировать". В разделе "выполнить" я изменил отладчик с LLVM на GDB. Теперь отладка на iOS 3.x и 5.x-устройства работают нормально. Кроме того, я оставил компилятор для предпочтительной настройки Xcode LLVM 3.1.
Надеюсь, это поможет кому-то еще, кто принимает рекомендуемые настройки советника по обновлению xcode и их iOS 3.X отладка прерывается.
Вы установили компонент "поддержка отладки устройств iOS 3.0 - 3.2.2"?
В строке меню выберите Xcode > Preferences..., затем в окне Preferences выберите загрузки > компоненты. Найдите строку для поддержки iOS 3.0 и нажмите кнопку Установить.
Только переключения с LLDB на GDB было недостаточно для меня, когда я столкнулся с той же проблемой. Поскольку у меня был более старый рабочий коммит в git, я выяснил, какие изменения в настройках проекта Xcode допустили в моем случае ошибку. Таким образом, я мог бы решить эту проблему, удалив все вхождения следующей строки из моего проекта$.xcodeproj / project.pbxproj
GCC_THUMB_SUPPORT = NO;
Кроме того, я вернул значение из
LastUpgradeCheck = 0430;
Назад к
LastUpgradeCheck = 0420;
Поскольку мои схемы настроены на "совместное использование", эти настройки также хранятся в каталоге проекта (subdir. "xcshareddata" в проекте .xcodeproj directory), и таким образом изменения также видны в git. Другим изменением, которое я вернул, было удаление этих двух строк в ' $ PROJECT.XCODEPROJ/xcshareddata/xcschemes / $PROJECT.xcscheme':
LastUpgradeVersion = "0430" ignoresPersistentStateOnLaunch = "NO"
Еще одно изменение .файл xcsheme были, что значения 'selectedDebuggerIdentifier' и 'selectedLauncherIdentifier' закончилась '.GDB" вместо ".LLDB', но это на самом деле то же самое, как вы получите мимо следуя принятому ответу Уэсли.
Эти изменения решили для меня проблему, и я снова мог отлаживать на своем iPhone Classic, работающем на iOS 3.1.3.Тем не менее, я настоятельно рекомендую использовать систему управления версиями, такую как Git (или, по крайней мере, локальную резервную копию!) перед применением этих правок в вашем любимом текстовом редакторе.