Можно ли получить журналы сбоев на устройстве iOS без использования инструментов отчетности о сбоях, AppStore и т. Д. - PullRequest
0 голосов
/ 29 марта 2019

Я создаю динамический фреймворк и предоставляю его клиентам. Я также никому не даю свои файлы .dsym.И клиентское приложение имеет отчет о сбоях, когда происходит сбой, он будет анализировать трассировку стека и находить основную причину ... это, кажется, работает нормально.

Но я хочу знать, есть ли возможность, что я могу написать какую-то логикуи получить журналы сбоев с устройства и сохранить их в каком-либо инструменте.

Где именно хранятся журналы сбоев в устройстве (каталоге)?Как и откуда попадают инструменты отчетности о сбоях?Можно ли получить журналы сбоев, если я использую исходный код хоккея в моем SDK?

1 Ответ

2 голосов
/ 29 марта 2019

Да, вы можете.Вы можете добавить этот метод в свой файл AppDelegate.m

-(BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:  
(NSDictionary*)launchOptions
{   
    NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler); 
}

И затем в том же файле AppDelegate создать метод,

void uncaughtExceptionHandler(NSException *exception) {    
    NSLog(@"CRASH: %@", exception);      
    NSLog(@"Stack Trace: %@", [exception callStackSymbols]);    
}

Теперь у вас есть журналы сбоев от uncaughtExceptionHandler метод.Вы можете сохранить его в своем каталоге и отправить на сервер в следующий раз, когда пользователь откроет ваше приложение.

Надеюсь, это поможет.

...