小编Leo*_*rdo的帖子

IOs7应用程序在后台崩溃

我的应用程序有时会在后台崩溃并显示以下崩溃日志:

Nov  7 12:33:31 iPad backboardd[29] <Warning>: MyApp[3096] has active assertions beyond permitted time: 
    {(
        <BKProcessAssertion: 0x14680c60> identifier: Called by MyApp, from -[AppDelegate applicationDidEnterBackground:] process: MyApp[3096] permittedBackgroundDuration: 180.000000 reason: finishTask owner pid:3096 preventSuspend  preventIdleSleep  preventSuspendOnSleep 
    )}
Run Code Online (Sandbox Code Playgroud)

通过其他问题我发现崩溃消息表明我没有正确结束任务,所以当它的时间到期时,操作系统结束了它并使我的应用程序崩溃.

所以我添加了一些NSLog:

- (void)applicationDidEnterBackground:(UIApplication *)application
{       
    [self saveContext];
    [Settings setCallLock:YES];

    [self saveStuff];

    if ([self isBackgroundTaskNeeded]) 
    {

        UIApplication*  app = [UIApplication sharedApplication];

        bgTask = [app beginBackgroundTaskWithExpirationHandler:^{

            [self pauseDownloads];

            NSLog(@"Debug - Ending background task %d",bgTask);
            [app endBackgroundTask:bgTask];
            NSLog(@"Debug -  Background task %d ended",bgTask);
            bgTask …
Run Code Online (Sandbox Code Playgroud)

crash ios ios7

3
推荐指数
1
解决办法
6227
查看次数

标签 统计

crash ×1

ios ×1

ios7 ×1