未処理の例外を追跡するために、testflight.com sdk と flurry.com sdk の両方を使用しています。問題は、testflight.com sdk を追加した後、flurry によって例外が検出されないことです。
未処理の例外が発生したときにトリガーされるメソッドは次のようになります。
void uncaughtExceptionHandler(NSException *exception)
{
[FlurryAnalytics logError:@"ERROR_NAME" message:@"ERROR_MESSAGE" exception:exception];
}
- (BOOL) application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
#if !TARGET_IPHONE_SIMULATOR
NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
struct sigaction newSignalAction;
memset(&newSignalAction, 0, sizeof(newSignalAction));
newSignalAction.sa_handler = &signalHandler;
sigaction(SIGABRT, &newSignalAction, NULL);
sigaction(SIGILL, &newSignalAction, NULL);
sigaction(SIGBUS, &newSignalAction, NULL);
[FlurryAnalytics startSession:kFlurryKey];
[TestFlight takeOff:kTestflightKey];
[[UIApplication sharedApplication]
registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |
UIRemoteNotificationTypeSound |
UIRemoteNotificationTypeAlert)];
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
#endif
.
.
.
testflight.comがどのようにそれを行うのかわかりませんが、登録されたメソッドを実行させずに、例外をインターセプトしてデータを登録しているようです?
これらの両方が共存する方法はありますか?