一:了解multitasking
background apps(可以在后台运行的任务):
1:play audio
2:get location
3:voip stream
4:request time to finish
5: create notifications
二:多任务生命周期
1:程序加载成功
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
2:程序将要失去活跃状态
- (void)applicationWillResignActive:(UIApplication *)application
3:程序已经进入后台运行
- (void)applicationDidEnterBackground:(UIApplication *)application
4:程序将要进入前台运行
- (void)applicationWillEnterForeground:(UIApplication *)application
5:程序进入活跃状态
- (void)applicationDidBecomeActive:(UIApplication *)application
6:程序退出
- (void)applicationWillTerminate:(UIApplication *)application
从启动到转入后台,从后台转入前台,退出,生命周期函数调用顺序
1->5->2->3->4->5->6
三:转入后台后请求一段时间完成操作
四:本地消息
1:创建一个本地消息
2:delegate 处理方法
五:后台播放音乐
1:读取文件
2:重写canBecomeFirstResponder 方法,使改view 可以成为第一响应者
3:显示view时,设置为第一响应者
4:实现remoteControlReceivedWithEvent方法使程序接收 iphone 自动音乐控制事件
5:info.plist 设置,可以设置多种形式
六:NSUserDefaults 问题
如果程序在后台挂起,在转入到前台后不会调用viewDidLoad 方法,所以要在viewDidLoad 方法里面注册UIApplicationWillEnterForegroundNotification ,调用loadSettings
七:去除后台运行inof.list
application dose not run in background 设置为 true