ios程序后台继续运行

1.图标右上角显示消息个数

if ([[UIDevice currentDevice].systemVersion doubleValue] >= 8.0) {
            UIUserNotificationType myType = UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound;
            UIUserNotificationSettings *mySetting = [UIUserNotificationSettings settingsForTypes:myType categories:nil];
            [[UIApplication sharedApplication] registerUserNotificationSettings:mySetting];
        }else{
            UIRemoteNotificationType myType = UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound;
            [[UIApplication sharedApplication] registerForRemoteNotificationTypes:myType];
        }
        
        [UIApplication sharedApplication].applicationIconBadgeNumber = result.status;//后台运行,有新消息,就在图标的右上角显示个数

2.后台运行

info.plist文件里面添加

Required background modes  --  App plays audio or streams audio/video using AirPlay

然后delegate里面

/**
 *  程序进入后台的时候调用
 */
- (void)applicationDidEnterBackground:(UIApplication *)application {
    // 提醒操作系统:当前这个应用程序需要在后台开启一个任务
    // 操作系统会允许这个应用程序在后台保持运行状态(能够持续的时间是不确定)
    UIBackgroundTaskIdentifier taskID = [application beginBackgroundTaskWithExpirationHandler:^{
        // 后台运行的时间到期了,就会自动调用这个block
        [application endBackgroundTask:taskID];
    }];

}

有可能还要添加这个播放0kb音频的代码

delegate里面:

原文地址:https://www.cnblogs.com/zhaixing/p/5375218.html