ios - 是否可以在不使用崩溃报告工具、AppStore 等的情况下在 iOS 设备本身中获取崩溃日志
问题描述
我正在创建动态框架并提供给客户。我也没有将我的 .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 - Crashlytics 显示 iPhone Xs Max 上出现大量崩溃
- apache-spark - 点燃RDD火花
- matlab - 如何在 Matlab App 设计器中使用(excel /database /sheets)进行计算?
- tfs - TFS 查询以在功能或用户故事的接受标准字段中获得空白(或)没有条目
- python - 修改 plotly 布局 y 轴
- azure - 如何从 WSO2 EI/ESB 向 Azure 服务总线主题发布消息?
- c# - 从 Open Xml Sdk 关闭/处理 WordprocessingDocument 远离更改 文件的修改日期
- c# - 来自 SA1210 的 Visual Studio 以错误的顺序对使用进行排序
- python - 无法转发用户提交的查询参数
- java - 在java中执行bash