所以我需要一点时间来完成后台任务(大约30秒).
我看到许多崩溃与允许的时间有关.
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 )}
我看到应用程序崩溃了[GAI threadMain]上的以下堆栈:
Thread 2:0 libsystem_kernel.dylib 0x3b47ca58 mach_msg_trap + 201 libsystem_kernel.dylib 0x3b47c854 mach_msg + 442 CoreFoundation 0x3074c896 __CFRunLoopServiceMachPort + 1503 CoreFoundation 0x3074afbc __CFRunLoopRun + 7804 CoreFoundation 0x306b5f0a CFRunLoopRunspecific + 5185 CoreFoundation 0x306b5cee CFRunLoopRunInMode + 1026 Foundation 0x310a81e6 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 2507 Foundation 0x310f909c -[NSRunLoop(NSRunLoop) run] + 768 MyApp 0x0016df5c +[GAI threadMain:] + 609 Foundation 0x3116aa5a __NSThread__main__ + 105810 libsystem_pthread.dylib 0x3b4f8916 _pthread_body + 13811 libsystem_pthread.dylib 0x3b4f8886 _pthread_start + 9812 libsystem_pthread.dylib 0x3b4f6aa0 thread_start + 4
我认为崩溃与Google Analytics有关,我尝试在远程推送时关闭Google Analytics,如下所示:
- (voID)application:(UIApplication *)application dIDReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(BackgroundFetchResultBlock)completionHandler { ... [GAI sharedInstance].optOut = YES;
但它没有帮助.
解决方法 请参阅 this SO answer.简而言之,问题是您的后台任务的运行时间超过了允许的时间.自iOS6起,允许的后台时间显着缩短;您可能需要重新审视您的设计并进行调整. 总结以上是内存溢出为你收集整理的ios – 应用程序在使用BKProcessAssertion进行远程推送时崩溃全部内容,希望文章能够帮你解决ios – 应用程序在使用BKProcessAssertion进行远程推送时崩溃所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)