Crash и ANR

Подключение зависимостей к проекту

Создание и запуск

import OKTracer let tracerService = TracerFactory.tracerServiceForCrashReporting(token: "Ваш appToken") tracerService.start()

Или комбинированнй запуск с использованием конфигурации

import OKTracer let features: [FeatureConfiguration] = [ .crashReporter(maxUploadsCount: 3, shouldUseHack: false), .assertReporter(maxUploadsCount: 10, sendEvery: 10), .diskUsage(probability: 10000), .systrace(probability: 10000) ] let items: [FeatureObject] = [ .diskUsage(objects: [.folder(path: NSHomeDirectory(), tag: "homeDirectory")]), .systrace(scenarios: ["launch", "urlSession"]) ] let configuration = Configuration(token: "Ваш appToken", features: features) let tracerService = TracerFactory.tracerService(configuration: configuration, items: items) tracerService.start()

Обработка сбоя приложения после перезапуска

switch tracerService.lastSessionState() { case let .normal(crashCount): print("В последней сессии сбоев не было. Не отправлено \(crashCount) сбоев.") case let .crashed(crashCount, result): print("В последней сессии был сбой. Не отправлено \(crashCount) сбоев.") switch result { case let .success(crashModel): print("Время последнего сбоя\(crashModel.timestamp). Время последнего запуска приложения \(crashModel.startTime).") case let .failure(error): print("При получении последнего сбоя произошла ошибка \(error)") } }

Также можно отправлять пользовательские ошибки

tracerService.send(TracerNonFatalModel(message: "Пользовательская ошибка")