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中的设置如图:ios

相关文章
相关标签/搜索