Подтвердить что ты не робот

Зарегистрировать приложение для Symbolication в XCode Profiler

Я пытаюсь запустить профайлер времени XCode для своего приложения, которое работает на моем устройстве, но имена символов отображаются как 0x2fe26643 вместо [MyClass myMethod]. Я понимаю, что мне нужно повторно символизировать приложение, но я не знаю, как это сделать.

Несколько ответов как это и this говорят, чтобы нажать "Re-Symbolicate", найти свой двоичный файл в списке, затем нажмите "Найти", чтобы найти dSYM вручную. Мое приложение не входит в список dSYM Locations:

enter image description here

Как я могу отображать мои результаты?

UPDATE: я разместил клип YouTube, как он выглядит, когда я пытаюсь перерисовать символику: http://www.youtube.com/watch?v=CcLGRNkmako

4b9b3361

Ответ 1

У меня возникла такая же проблема при попытке профилировать мое приложение на устройстве (отлично работало в симуляторе). При попытке повторной символики мой бинарный файл приложения вообще не отображался в диалоговом окне "dSYM Locations", поэтому я не смог его выбрать, а затем использовать кнопку "Найти", чтобы связать соответствующий dSYM, как предложили другие ответы.

Мне удалось получить символику обратно в профилировании устройства, перейдя в "Редактировать схему в Xcode" и изменив сбор профиля для Debug вместо Release.

Ответ 2

Вот что я сделал, чтобы включить профилирование, не переключаясь в режим отладки. Это для Xcode 4.5.1

  • Создайте новую конфигурацию сборки "Профиль" на основе существующих Конфигурация "Release" . Выберите проект в навигаторе проекта. для открытия редактора проекта. Выберите проект в редакторе проекта и нажмите кнопку "Информация". Разверните раздел "Конфигурации" в Инфо и нажмите кнопку "Добавить" (+) в нижней части раздела. Выберите существующую конфигурацию "Отпустить" во всплывающем меню, как отправной точкой для новой конфигурации. Выберите имя скопируйте и введите "Профиль" . Подробнее см. В Руководство пользователя Xcode.

  • Установите идентификатор подписи кода конфигурации "Профиль" , чтобы "Разработчик iPhone" (или то же, что и ваша конфигурация "Отладка" ): Нажмите кнопку "Параметры сборки", чтобы отобразить параметры сборки для проект. Чтобы изменить настройки сборки в новой конфигурации для всех целей проекта, отредактируйте их на уровне проекта. Чтобы изменить настройки сборки для отдельной цели, выберите цель. Если вы редактируете их на уровне проекта, убедитесь, что вы после этого дважды проверьте целевой уровень: переопределение целевых настроек настройки проекта. Идентификация подписи кода находится в разделе "Подписание кода" раздел.

  • Убедитесь, что параметр "Создать параметры отладки" равен YES для конфигурации "Профиль" . Это было уже ДА в моем случае.

  • Установите новую конфигурацию "Профиль" , которую будет использовать "Профиль" , схема. Выберите "Product- > Edit Scheme" в меню, выберите Вкладка "Профиль appname.app" слева, а затем выберите "Профиль" , в разделе "Конфигурация сборки".

  • В вашем файле appname.entitlements задается "get-task-allow" свойство YES.

  • Нажмите клавишу ALT и выберите "Product- > Clean Build Folder" из меню.

  • Теперь выберите "Product- > Profile" в меню, и вы должны быть хорошо идти.

Всевозможные странные вещи могут случиться, если вы не сделаете все это. У меня вообще не было символов, или появляются только символы библиотеки. У меня были символы, которые появляются только в том случае, если вы сначала создаете отладочную сборку, а затем профиль затем (что означает, что символы, вероятно, неправильно взяты из сборки отладки). У меня был профилировщик, жалующийся на несоответствие UUID, и у меня была известная ошибка "Права не совпадают" (подробнее об этом здесь).

Ответ 3

Они означают нажатие кнопки "Найти", а затем найти ваше приложение в ~/Library/Developer/Xcode/DerivedData. Однако я обнаружил, что следующее работает:

  • Настройки > Пути поиска
  • Добавить ~/Library/Developer/Xcode/DerivedData (у меня есть это как /Users/rnapier/..., поэтому я не уверен, что ~ работает)

Это все еще не всегда авто-символизирует меня. Но он позволяет мне использовать File > Re-Symbolicate Document, а затем просто нажать кнопку "Symbolicate", и он работает для меня. Тот факт, что это не работает "из коробки", безумен...

Я рекомендую обмануть radr://10158512 (который сам по себе является дубликатом 10015727, но тот не находится в openradar).

Ответ 4

Это также зависит от того, где XCode помещает вашу сборку. Вы можете выбрать "MyCoolApp.app" в организаторе проекта XCode, справа или щелкнуть по кнопке "Show in Finder". Не все настройки проекта будут помещены в DerivedData (несколько разных параметров проекта могут сговориться разместить их в разных местах). Теперь, когда вы обнаружили, где XCode хранит ваши сборки, вы можете попробовать добавить его в Инструменты оттуда, используя ранее описанные шаги. Когда откроется диалоговое окно "Файл", нажав "Найти...", вы можете просто отказаться от .app из диалогового окна Finder в файле, и он перейдет в этот каталог.

Ответ 5

Если вы измените идентификатор подписи кода для конфигурации сборки "Release" с "Automatic Profile Selector: iPhone Distribution" на "Автоматический селектор профилей: разработка iPhone" (выделение мое), то ваш бинарный файл приложения будет указан в списке инструментов, Symbolicate sheet, и вы можете указать его в своей папке Derived Data.

Ответ 6

Нет успеха с вышеупомянутым. Что сработало для меня с Xcode 5:

  • Получить местоположение вашего продукта, как описано в quellish ответе. Ex.

    /Users/ME/Library/Developer/Xcode/DerivedData/Build/Продукты/Debug-iphoneos /Users/ME/Library/Developer/Xcode/DerivedData/Build/ Продукты/Релизы-iphoneos

  • Откройте "Настройки" и добавьте их в "dSYMs And Paths".