Как сообщить об ошибке и сбоях на сервере в iOS
Я занимаюсь разработкой приложения для iOS 7 и более поздних версий, и мне хотелось бы узнать, как я могу сообщить об ошибках и сбоях приложения, когда оно будет доступно в App Store
без необходимости интеграции какой-либо третьей стороны, чтобы сделать это.
Мне нужно сообщать об ошибках, которые могут произойти на сервере, поэтому я думал о том, чтобы сохранить ошибки, которые мне интересны, чтобы о них сообщали (например, об ошибках при получении данных от служб), и отправлять файл на сервер по адресу определенный момент. Я не знаю, если это хороший подход, если это:
1) Должен ли я явно запрашивать у пользователя разрешение на то, чтобы приложение сообщало об ошибках? (просмотр предупреждений)
2) Может ли файл с журналами ошибок отправляться всякий раз, когда я хочу, или должен быть пользователь, который запрашивает приложение для его отправки?
Есть ли лучший подход к этому? С другой стороны, в отношении сбоев приложения: возможно ли сохранить их в файл?
заранее спасибо
1 ответ
Сторонние библиотеки, такие как Crashlytics, делают всю хорошую работу, и многие люди предпочитают это, но если вы настаиваете, у вас может быть собственный сервис, отправляющий файл, содержащий подробности сбоя.
Следующая функция записывает подробности сбоя на консоль;
void uncaughtExceptionHandler(NSException *exception) {
NSLog(@"CRASH: %@", exception);
NSLog(@"Stack Trace: %@", [exception callStackSymbols]);
// Internal error reporting
}
Затем вы можете получить доступ к консоли журнала и записать эти данные в файл.
Гораздо более сложное и конкретное решение можно найти здесь