Xcode: Должен ли я делить символы отладки во время копирования?
TestFlight SDK рекомендует установить Strip Debug Symbols During Copy
в YES
в настройках сборки Xcode, чтобы обеспечить наилучшую отчетность о сбоях. Я заметил, что он по умолчанию установлен на YES
.
Должен ли я изменить его на YES
? Почему или почему нет?
Ответы
Ответ 1
Я работаю в TestFlight. Короткий ответ: установите его на YES
.
Длинный ответ:
@Kerni правильно. Прежде чем мы начали символизировать серверную часть, нам нужны эти данные для обозначения на устройстве.
Итак, если вы загрузите свой dSYM в TestFlight, вы можете их разбить. Если вы не хотите загружать свой dSYM по какой-либо причине, вы можете оставить их и TestFlight может символизировать на устройстве.
В основном README не обновлялся. Извините @Manni! Я обновлю его для следующей версии. (Я собираюсь удалить весь этот раздел).
Извините за путаницу!
Ответ 2
Если значение по умолчанию YES
, нет необходимости ничего делать.
В целом этот параметр гарантирует, что символы отладки не являются частью распределенного двоичного файла, что уменьшает размер файла на 30-50%. Вместо этого символы отладки должны быть записаны в файл dSYM DWARF, который впоследствии может использоваться для обозначения отчетов о сбоях.
Ответ 3
TestFlight SDK рекомендует установить для этого параметра значение НЕТ, а не YES:
Чтобы обеспечить наилучшую возможную аварийную отчетность, мы рекомендуем установить следующие параметры сборки проекта в Xcode равным NO для всех целей, для которых вы хотите иметь отчеты о сбоях в реальном времени. Вы можете найти настройки сборки, открыв Навигатор проекта (команда по умолчанию + 1 или команда + сдвиг + j), а затем щелкнув по проекту, который вы настраиваете (обычно это первый выбор в списке). Оттуда вы можете либо изменить глобальные параметры проекта, либо параметры на основе отдельных проектов. Все ниже приведены настройки в разделе развертывания.
- Послепроцессор развертывания
- Отладка отладочных символов во время копирования
- Связанный с лентой продукт
Bugsense (http://www.bugsense.com/pages/faq) также рекомендует этот параметр с этим объяснением:
Почему я получаю дампы памяти вместо трассировки стека для моего приложения iOS?
Приложения iOS обычно не включают информацию об отладке, или эта информация включена в специальный файл с расширением dSYM (отладка SYMbols). Включение (и включение в вашу двоичную) отладки информации для вашего приложения iOS вы должны установить NO для настройки проекта называемых "разделителями отладочных символов" для всех конфигураций проекта.