Ответ 1
Нет, вы не можете рекламировать свои собственные данные в отчетах о сбоях. Из-за песочницы также невозможно получить доступ к отчетам о сбоях iOS автоматически.
Итак, мое предложение выглядит следующим образом:
-
Для регистрации собственных данных используйте Cocoalumberjack. Он намного быстрее, чем NSLog или другие фреймворки ведения журналов, и имеет возможность записывать ваши сообщения в файл. Теперь, когда возникает исключение или всякий раз, когда вы хотите, запишите это в файл. Но если ваше приложение падает прямо в точке, где вы добавляете что-то в файл журнала, скорее всего, он будет отсутствовать, так как приложение разбилось в тот же момент.
Поэтому его довольно невозможно безопасно поймать точный оператор SQL. Но отчет о сбое должен дать вам достаточно информации, чтобы понять, что происходит, с добавлением к тому, что вы записали в прошлом. Например. вы можете записать строку поиска, используемую в SQL-способе, перед выполнением SQL.
В общем, попробуйте не записывать слишком много.
-
Для получения отчета о сбое вы должны использовать не что иное, как решение на основе фреймворка с открытым исходным кодом PLCrashReporter, которое может безопасно ломает сбои, также когда приложение уже находится в магазине приложений! Исключение исключений не рекомендуется, проверьте эту статью, чтобы узнать, почему!
iTunes Connect также предлагает вам просматривать некоторые отчеты об авариях, но для просмотра некоторых из них требуется до 2 недель, но далеко не все, например. указали Camera + developers. Поэтому вам лучше использовать собственное решение.
PLCrashReporter отправит вам стандартные отчеты об авариях с отформатированными яблоками, готовые к символизации, поэтому вы знаете, где произошел сбой в вашем коде, включая номера строк.
Некоторые решения на основе PLCrashReporter:
- QuincyKit: клиент с открытым исходным кодом + php-сервер, базовая разбивка, символика может быть автоматизирована с вашего mac (я разработчик это)
- HockeyApp: Платная услуга, использует клиент QuincyKit, расширенную группировку сбоев, символику, полностью выполненную на сервере (я нахожусь на разработчиках )
- Bugsense: бесплатный сервис, символизация объявлена как функция премиум-класса
- AppBlade: Платная услуга, неизвестная символика
- Crashlytics: Частная бета-версия, неизвестные функции, их решение, похоже, основано на PLCrashReporter
-
Предлагаемые решения позволяют либо автоматически отправлять данные при следующем запуске, либо спрашивать пользователя, согласен ли он/она отправить.