Создает ли исключение assert и uncaught исключения? - PullRequest
0 голосов
/ 20 октября 2011

Будут ли неудачные операторы assert генерировать отчеты о сбоях (со следами стеков), которые будут использоваться в iTunes Connect?

Я бы хотел знать то же самое для NSAssert, а также для необработанных исключений C ++ / Obj-C.

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

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

Ответы [ 2 ]

1 голос
/ 20 октября 2011

Xcode по умолчанию отключит макросы NSAssert() для сборок релиза, если вы используете один из стандартных шаблонов Xcode. Кроме того, вы можете отключить их самостоятельно, добавив флаг NS_BLOCK_ASSERTIONS к другим флагам C ++ в настройках сборки.

0 голосов
/ 20 октября 2011

Да, неперехваченные исключения создадут отчет о сбое - я сейчас смотрю один из репортеров об ошибках iTunes Connect!По сути, почти все, что приводит к сбою приложения и сохранению журналов, отправляет отчеты обратно в Apple.

При этом , если вы беспокоитесь об этом, вы можете захотеть реализовать собственный обработчикдля отчетов о сбоях, потому что a) только пользователи, которые решили поделиться диагностической информацией с Apple, будут отправлять отчеты о сбоях обратно в iTunes Connct, и b) нет никакой гарантии, что даже в этом случае отчет о сбое вернется к вам для просмотра.

Вы можете сделать это самостоятельно, используя необработанные обработчики исключений, через существующий пакет аналитики (Flurry поддерживает это), или использовать библиотеку с открытым исходным кодом, имеющую переменное качество ( вот ту, которую я нашел в Интернете - Я использую свой собственный код для моих отчетов, поэтому ваш пробег может отличаться!)

...