编辑:对于那些想知道 SDK 是什么的人,它是 Flurry 的中文克隆,==>> Umeng。
编辑 2:在那个奇怪的 SDK 中实际上有一个禁用崩溃日志处理选项,这将使我的uncaughtExceptionHandler再次被调用。但我仍然对 SDK 一开始是如何做到这一点非常感兴趣。
我正在使用一些第三方 iOS 分析 SDK。奇怪的发现:
最初(在添加 SDK 之前),我的 appDelegate.m 中有一个UncaughtExceptionHandler。它工作得很好。每当在真实 iDevice 上测试时发生异常时,它都会将一些日志打印到控制台。
//Worked like charm before I added that weird analytics SDK
NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
然后我添加了那个奇怪的分析 SDK(我所做的只是将 .a lib 放到我的项目中,并在我的 appDelegate.m 中添加一行,如下所述),然后突然之间,我的uncaughtExceptionHandler永远不会被调用。
//To make sure my uncaughtExceptionHandler was not set a second time by that SDK,
//I set and reset again, before and after I initialized that weird SDK
NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
[WeirdAnalyticsSDK startWithAppkey:@"XXX_XXX_XXX_XXX"];
NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
事实证明,无论我做什么,只要我在我的 appDelegate 中初始化了那个 SDK,我的uncaughtExceptionHandler就不会在发生异常时被调用。
有人能帮助我吗?那个奇怪的 SDK 到底对我的uncaughtExceptionHandler做了什么?