我正在我的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);
}
我的目标是在应用程序崩溃时及时收集一些系统信息,例如 Internet 连接类型。
我知道创建自己的崩溃回调并不是一个好主意,因为异步安全函数,但这有助于解决问题。
另外还有一个选项:是否有一种方法可以扩展 PLCrashReportSystemInfo 类?