我在我的 iOS 项目中使用PLCrashReporter,我很好奇,是否可以在我的自定义崩溃回调中使用 Core Foundation 代码。处理我需要的东西是 CFPreferences。这是我创建的代码的一部分:
void LMCrashCallback(siginfo_t* info, ucontext_t* uap, void* context) {
CFStringRef networkStatusOnCrash;
networkStatusOnCrash = (CFStringRef)CFPreferencesCopyAppValue(networkStatusKey, kCFPreferencesCurrentApplication);
CFStringRef additionalInfo = CFStringCreateWithFormat(
NULL, NULL, CFSTR( "Additional Crash Properties:[Internet: %@]", networkStatusOnCrash);
CFPreferencesSetAppValue(additionalInfoKey, additionalInfo,
kCFPreferencesCurrentApplication);
CFPreferencesAppSynchronize(kCFPreferencesCurrentApplication);
}
我的目标是在应用程序崩溃时收集一些系统信息,例如互联网连接类型。
我知道由于异步安全函数而创建自己的崩溃回调不是一个好主意,但这会有所帮助。
也作为其他选项:有没有办法以某种方式扩展 PLCrashReportSystemInfo 类?