Проблема с iphone sdk 4.2.1
Наверное, глупый вопрос. При запуске моего проекта на устройстве в режиме отладки я получаю много предупреждений, имеющих следующую строку:
предупреждение: невозможно прочитать символы для /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148a)/Символы/System/Library/PrivateFrameworks/
Я думаю, что это связано с пространством между "4.2.1" и "(8C148a)". Как я могу избавиться от него? Это должно быть настройка где-то в Xcode.
У меня нет этих предупреждений на симуляторе.
заблаговременно, христианин
Ответы
Ответ 1
У меня была проблема с 4.2.1 (8C148a), которая, как мне кажется, вызвана различными файлами DeviceSupport на телефоне и в XCode. Я пробовал много вещей, но в конце концов решил его, удалив эту папку:
/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148a)/
После этого я подключил свое устройство iOS и попросил подключить и восстановить файлы символов с устройства, и он работал нормально снова.
Ответ 2
Я получал:
предупреждение: невозможно прочитать символы для /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148)/Symbols/usr/lib/info/dns.so(файл не найден).
Версия 4.2.1 не включает "info/dns.so". По крайней мере, это было для меня. Однако он существует в каталоге 4.2 и указывается ярлыком /DeviceSupport/Latest. Я просто скопировал "info/dns.so" туда, где искал его отладчик, и, похоже, исправил это предупреждение.
Ответ 3
Когда вы подключаете iOS-устройство (iPad) с немного более новой ОС, чем те, что находятся в SDK, в окне организатора Xcode должна появиться кнопка для загрузки новых символов. Хит его и ждать.
Ответ 4
Я видел такие ошибки, когда мое устройство не было в той же версии, что и для создания. Вы уверены, что не находитесь на бета-версии 4.2?
Ответ 5
Я не думаю, что 8C148a является "окончательным"; окончательные номера строит никогда не заканчиваются буквой (мой телефон сообщает "4.2.1 (8C148)" ). Я еще не отлаживал приложения на нем (мне стало скучно, ожидая, пока он извлечет символы и отправится домой).
4.2 GM был 8C134, поэтому вы, безусловно, запускаете новое программное обеспечение, но что-то где-то неправильно делает номер сборки.
Но я отвлекаюсь.
Какие каталоги находятся в /Developer/Platforms/iPhoneOS.platform/DeviceSupport? Если "4.2.1 (8C148a)" не существует, но "4.2.1", возможно, вам удастся сделать что-то подобное в терминале:
cd /Developer/Platforms/iPhoneOS.platform/DeviceSupport
ln -s "4.2.1" "4.2.1 (8C134a)"
Эквивалентно, если "4.2.1 (8C148)" существует, сделайте что-то вроде этого:
ln -s "4.2.1 (8C148)" "4.2.1 (8C148a)"
Обычно вы можете использовать этот трюк, чтобы заставить Xcode разговаривать с бета-устройством без установки бета-SDK; это полезно, если в вашей компании есть некоторые люди, которые запускают бета-тестирование (для целей тестирования) и другие люди в последнем "финале" (для целей выпуска).
Ответ 6
Там есть несоответствие в тот момент, когда выпущенная версия 4.2.1 опережает версию SDK 4.2
Комментарий @Khrob исправил это для меня, хотя!
Ответ 7
Пока они не обеспечат надежный SDK, рекомендуется обходное решение:
1 - выберите исполняемый файл (в "Исполняемые файлы" в обозревателе проекта),
2 - получите информацию и выключите "Break on Debugger() и DebugStr()" *
Приветствия и наилучшие пожелания в 2011 году.
Т
Это не отключает NSLog.
Ответ 8
У меня есть 4.2.1 на iPhone 3G и Xcode 3.2.5, работающем на MacBook Pro с 10.6.6. После чистой установки Xcode я получил приглашение загрузить символы для 4.2.1 после подключения моего iPhone. После передачи я больше не буду получать приглашение при подключении iPhone, но я получаю тонны сообщений "неспособных читать символы".
Во-первых, что не сработало для меня:
- Создание символической ссылки на "4.2 (8C134)" с именем "4.2.1 (8C148)"
- Создание символической ссылки внутри каталога "4.2.1 (8C148)", как есть в "4.2 (8C134)" на.. /../Developer/SDKs/iPhoneOS4.2.sdk
Оба этих метода вызвали ошибки UUID-несоответствия для нескольких библиотек. GDB запускается, но, похоже, висит.
Наконец, что сейчас работает для меня:
- % cd/Developer/Platforms/iPhoneOS.platform/DeviceSupport
- % mkdir '4.2.1 (8C148)' #, если он не существует
- % cd '4.2.1 (8C148)'
- % cp../4.2\\ (8C134 \)/DeveloperDiskImage.dmg *.
- % cp -r../../Developer/SDKs/iPhoneOS4.2.sdk Символы
- Попытка запуска сеанса отладки для приложения и просмотр Консоли. Для каждого предупреждения о несоответствии UUID удалите файл, указанный в сообщении журнала (у меня были AudioToolbox, CoreMedia и некоторые другие).
- Остановите GDB и повторите попытку, надеюсь с успехом.
По крайней мере, для разработки моего приложения все работает отлично. Надеюсь, Xcode 4.0 прояснит это.