ios - 是否可以在不使用崩溃报告工具、AppStore 等的情况下在 iOS 设备本身中获取崩溃日志

标签 ios crash crashlytics

我正在创建动态框架并提供给客户。我也不会将我的 .dsym 文件提供给任何人。 并且客户端应用程序在发生崩溃时会报告崩溃情况,将查看堆栈跟踪并找到根本原因..这似乎工作正常。

但我想知道是否有可能我可以编写一些逻辑并从设备获取崩溃日志并将其存储在某种工具中..

崩溃日志究竟存储在设备(目录)中的什么位置? 崩溃报告工具如何以及从何处崩溃? 如果我在 SDK 中使用 Hockey 源代码,是否可以获得崩溃日志?

最佳答案

是的,你可以。您可以在 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 方法的崩溃日志。您可以将其保存在您的目录中,以便在用户下次打开您的应用时将它们发送到您的服务器。

希望对您有所帮助。

关于ios - 是否可以在不使用崩溃报告工具、AppStore 等的情况下在 iOS 设备本身中获取崩溃日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55407884/

相关文章:

ios - 清除 iOS 中的应用程序缓存适用于 Google+ 登录,但不适用于 Facebook

ios - 当我在一个 View Controller 中单击一个按钮时,我想转到另一个 tabbarviewcontroller

database - 删除一行后 MySQL 出错(错误 1194)

macos - Matlab命令行-某些程序在退出时崩溃

android - 尝试在 Android Studio 中添加 Crashlytics(找不到方法...)

android - Crashlytics 不验证它是否在应用程序中配置

ios - 带有贝塞尔路径的基本 UIImageView 蒙版形状

iphone - EXC_CRASH(SIGABRT)无法跟踪它-请参阅崩溃日志-GADObjectPrivate.m

android - GoogleApiActivity 中的 java.lang.NullPointerException

ios - 滚动所有 tableviewcell 内的所有 CollectionViewCell