2014-06-06 6 views
8

Ich integrierte die neueste Version von Google Analytics SDK. Ich nutze stille Benachrichtigungen in meiner App. Also brauche ich etwas Zeit für Hintergrundaufgaben (ca. 30 Sekunden). Ich sehe viele Abstürze mit der erlaubten Zeit verbunden.App Absturz auf Remote-Pushs mit BKProcessAssertion

My App[3114] has active assertions beyond permitted time: 
{(
    <BKProcessAssertion: 0x15699c00> identifier: Background Content Fetching (15) process: MyApp [3114] permittedBackgroundDuration: 30.000000 reason: backgroundContentFetching owner 
    pid:3101 preventSuspend preventThrottleDownUI preventIdleSleep preventSuspendOnSleep 
)} 

Ich sehe tha app mit dem folgenden Stapel stürzt auf [GAI thread]:

Thread 2: 
0 libsystem_kernel.dylib   0x3b47ca58 mach_msg_trap + 20 
1 libsystem_kernel.dylib   0x3b47c854 mach_msg + 44 
2 CoreFoundation     0x3074c896 __CFRunLoopServiceMachPort + 150 
3 CoreFoundation     0x3074afbc __CFRunLoopRun + 780 
4 CoreFoundation     0x306b5f0a CFRunLoopRunSpecific + 518 
5 CoreFoundation     0x306b5cee CFRunLoopRunInMode + 102 
6 Foundation      0x310a81e6 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 250 
7 Foundation      0x310f909c -[NSRunLoop(NSRunLoop) run] + 76 
8 MyApp       0x0016df5c +[GAI threadMain:] + 60 
9 Foundation      0x3116aa5a __NSThread__main__ + 1058 
10 libsystem_pthread.dylib   0x3b4f8916 _pthread_body + 138 
11 libsystem_pthread.dylib   0x3b4f8886 _pthread_start + 98 
12 libsystem_pthread.dylib   0x3b4f6aa0 thread_start + 4 

denke ich, dass Crash mit Google Analytics verbunden ist, habe ich versucht, schalten Sie Google Analytics auf Remote-Push wie dies:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 
    fetchCompletionHandler:(BackgroundFetchResultBlock)completionHandler { 
    ... 
    [GAI sharedInstance].optOut = YES; 

aber es hilft nicht.

+0

Thread 2 sieht so aus, als ob er nur auf die Verarbeitung eines Ereignisses wartet. Gibt es im Absturzprotokoll einen "markierten Thread"? –

+0

@Romula Hast du das jemals gelöst? Wir sehen das jetzt, und wir haben unseren Hintergrund erneuert, aber immer noch von GA geknabbert –

Antwort

0

Siehe this SO answer. Kurz gesagt, das Problem besteht darin, dass Ihre Hintergrundaufgabe länger als die zulässige Zeit ausgeführt wurde. Die erlaubte Hintergrundzeit wurde seit iOS6 deutlich verkürzt; Möglicherweise müssen Sie Ihr Design erneut besuchen und Anpassungen vornehmen.