iOS开发小技巧--iOS程序进入后台运行的实现

iOS程序进入后台运行的实现

  • 视频中看到老师用的iOS7,代码中有开启timer,无限请求数据的功能,但是切换到后台,代码就不打印了
  • 自己用的iOS9,进入后台还是可以打印的,再次进入前台也可以正常运行,但是功能不实现了
  • 实现程序后台运行的方法
/**
 *  程序进入后台后
 *
 *  @param application
 */
- (void)applicationDidEnterBackground:(UIApplication *)application {
    // 向操作系统申请后台运行的资格,能维持多久,是不确定的
    UIBackgroundTaskIdentifier task = [application beginBackgroundTaskWithExpirationHandler:^{
        // 当申请的后台运行时间已经结束(Expiration:过期),就会调用这个block

        // 赶紧结束任务
        [application endBackgroundTask:task];
    }];

    // 在Info.plist中设置后台模式:Required background modes = App plays audio or streams audio/video using AirPlay
    // 设置程序为播放音频的程序,只是这样的话,程序后台运行也会因为运行内存问题挂掉
    // 实现程序后台一直运行的方案 : (并不是说程序就不会挂了,只是延长了寿命)
    // 1.搞一个0KB的MP3文件,没有声音
    // 2.循环播放
}

info.plist中的设置如图:

原文地址:https://www.cnblogs.com/gchlcc/p/5740634.html