2013-03-09 2 views
4

Прошло некоторое время с тех пор, как я использовал символ в XCode, и он работал. Сегодня, когда я пробовал это ...Организатор XCode 4.6 не символизирует трассировку стека аварийных событий приложения

  1. Архив моего приложения.
  2. Установите приложение на устройство с помощью XCode. (Просто подключите устройство и запустите приложение в режиме выпуска).
  3. Остановил приложение с Xcode.
  4. Отправлено приложение на моем устройстве (которое подключено к Mac), которое, конечно, разбилось.
  5. Теперь, когда я открываю Организатор и перехожу в журнал устройств, он показывает новый файл журнала сбоев.
  6. Но это не может символизировать символы моего приложения. Все материалы библиотеки Apple хорошо обозначены.

Я искал по всей сети, ничего не работает.

Редактировать: В настройках сборки, если я отключу «Деформировать отладочный символ во время копирования» даже для выпуска сборки, все работает нормально. Но Xcode должен был бы символизировать использование файла dSYM, я думаю. Я не хочу распространять приложение с помощью отладочных символов.

Заранее спасибо.

+0

ли эта помощь: http://stackoverflow.com/questions/5458573/xcode-4-failure-to-symbolicate-crash-log – trojanfoe

+0

Не могли бы вы добавить еще немного подробно о том, как вы точно переходите к шагу 2? – Kerni

+0

Добавлена ​​дополнительная информация в описании. В основном я мало что делаю. Просто заархивируйте приложение из меню продукта, затем запустите приложение на своем устройстве, он выйдет из строя и журнал сбоев появится в организаторе. К сожалению, это не может символизировать его. – abix

ответ

4

Эта статья поможет найти, где проблема: http://support.hockeyapp.net/kb/how-tos-faq/how-to-solve-symbolication-problems

Так вы говорите, что run in release mode, версия работает на устройстве НЕ тот, который вы архивируется! Поэтому, если в каталоге DerivedData уже есть сборка релизов, это займет это. В противном случае он создаст новую сборку и установит ее.

В настоящее время существует две возможностей, почему symbolication не работает:

  1. Вы делаете другую сборку выпуска позже, так что предыдущий билд и dSYM перезаписаны (см объяснения в приведенной выше ссылке)
  2. Spotlight не находит dSYM и приложение двоичный файл с UUID, написанной в отчете об аварии (см объяснение в ссылке выше, чтобы убедиться, что)

Update: Примечание относительно снятия символов: если вы не раздеться символы как упоминалось в вашем издательстве d, символика уже сделана на устройстве. Но, конечно, вам не хватают номера строк.

+0

Я думаю, что это из-за причины 1, той, которую я запускаю, и той, которую я архивировал, не то же самое. Я в основном добавляю механизм для пользователя, который отправляет журнал сбоев (используя PLCrashReport) по электронной почте. Я не могу протестировать эту функцию, поскольку эти журналы не становятся символами. – abix

+0

Проверьте UUID архивной сборки и отправьте поиск UUID, как описано в связанном документе, чтобы убедиться, что они могут быть найдены. В качестве примечания: рекомендую использовать, например, QuincyKit.net или другой размещенный сервис для обработки отчетов о сбоях. Использование электронной почты станет реальным беспорядком, когда ваше приложение будет в магазине приложений, и вы получите сотни таких писем. – Kerni

+0

Спасибо, Керни! Следуя ссылке, которую вы предоставили тщательно, оказалось, что прожектор не смог найти dSYM с помощью UUID. Выполнение команды «mdimport». в папке с продуктом сразу же устранена проблема. – abix

0

По ссылке, приведенной Kerni в приведенном выше решении, я обнаружил, что это был прожектор, который не смог найти файл dSYM, используя UUID файла журнала сбоев.

Running следующей команды ...

mdimport.

... в папке с продуктом (где находятся MyApp1.app и myApp.app.dSYM) проблема решена.

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

0

Я установил Xcode в каталог с пробелами. Я исправил его, удалив белые пробелы в каталоге и запустив xcode-select. (mdimport не работал для меня)

sudo xcode-select -switch <myxcodedir> 
Смежные вопросы