码迷,mamicode.com
首页 > 移动开发 > 详细

iOS开发之如何后台运行程序

时间:2015-11-26 01:20:36      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:

首先判断是否支持多线程

UIDevice *device = [UIDevice currentDevice];
BOOL backgroundSupported = NO;
if ([device respondsToSelector:@selector(isMultitaskSupported)]) {
    backgroundSupported = device.mulltitaskingSupported;
}

声明你需要的后台任务Info.plist中添加UIBackgroundModes键值。

它包含一个或多个string的值,包括audio:在后台提供声音 播放功能,包括音频流和播放视频时的声音;

location:在后台可以保持用户的位置信息

voip:在后台使用VOIP功能 前面的每个value让系统知道你的应用程序应该在适当的时候被唤醒。

例如,一个应用程序,开始播放音乐,然后移动到后台仍然需要执行时间,以填补音频输出缓冲区。添加audio键用来告诉系统框架,需要继续播放音频,并且可以在合适的时间间隔下回调应用程序;如果应用程序不包括此项,任何音频播放在移到后台后将停止运行。除了添加键值的方法,IOS还提供了两种途径使应用程序在后 台工作:

Task completion—应用程序可以向系统申请额外的时间去完成给定的任务
Local notifications—应用程序可以预先安排时间执行local notifications 传递实现长时间的后台任务:应用程序可以请求在后台 运行以实现特殊的服务。这些应用程序并不连续的运行,但是会被系统框架在合适的时间唤醒,以实现这些服务 

iOS开发之如何后台运行程序

标签:

原文地址:http://www.cnblogs.com/wuhongxing/p/4996412.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!