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

Как вы отлаживаете проблему при создании режима выпуска в iOS?

Я работаю над iOS-приложением, и я заметил ошибку, которая воспроизводится только тогда, когда приложение построено в режиме выпуска. Единственный способ, которым я нашел запуск приложения режима выпуска, который я создал, - это создать архив, подписать его с моим профилем отладки и сделать специальное развертывание на моем устройстве. Однако, используя этот метод, я не могу подключиться с помощью отладчика, и я даже не уверен, могу ли я его подключить, если он будет хорошо работать после того, как в сборке релизов был запущен оптимизатор кода.

Кто-нибудь знает о хорошем способе отладки проблемы, которая воспроизводится только при создании приложения в режиме выпуска?

4b9b3361

Ответ 1

В нормальных отладочных сборках оптимизация отключена (-O0), чтобы упростить отладку, тогда как в версиях выпусков оптимизация включена (-O3 или -Os), что заставляет код работать намного быстрее, но также делает отладку сложнее (но не возможно). Вы можете просто перейти к настройкам сборки в Xcode в конфигурации Debug и временно повысить уровень оптимизации - это сохранит все остальные отладочные плюсы (символы и т.д.), Но, надеюсь, также сбросит ошибку режима Release. (Не забывайте reset уровень оптимизации -O0 в конфигурации отладки, когда вы закончите!)

Ответ 2

  • Перейдите в команду "Project" в меню приложения Xcode и выберите "Edit Scheme" (ярлык: ⌘ <)
  • Выберите "Запустить название проекта" в левой панели
  • В правой панели на вкладке "Информация" измените "Конфигурация сборки" на "Отпустить"

Ответ 3

Вы не можете запустить приложение в режиме выпуска, если включена отладка. Это не предназначено.

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

Uncheck <code>Debug executable</code> do run your app in release mode

Кроме того, вам придется доверять профилю распространения на вашем устройстве. Xcode уведомит вас и предупредит вас при первом запуске.