据我所知,实际上不再在iOS4中调用applicationWillTerminate。但我有这种情况:
但是,用户从应用程序停靠站退出应用程序的时刻或更好的调用方法是什么时候?这存在吗?
当出现内存问题时会调用ApplicationWillTerminate,但实际上我无法确定当用户自己关闭应用程序时会发生什么。
我再说一遍:applicationDidEnterBackground对我不起作用,因为当用户进入后台模式时,他可以长时间保持这个位置听有声读物,当他再次启动应用程序时,关闭后,我的意思是,当他进入后台模式时,他会找到音频文件的位置......
我真的很困惑......
感谢您的帮助!
答案 0 :(得分:2)
无论音频是否继续播放,您都应自动将播放位置保存在applicationWillResignActive:
,applicationDidEnterBackground:
中。然后在applicationWillTerminate
中添加另一个保存。这样,无论接下来发生什么,都会保存最后一个播放位置。下一个事件只是覆盖保存的播放位置以更新它。
更好的选择是让音频播放器对象本身在中断时触发保存,例如[AVAudioPlayerDelegate audioPlayerBeginInterruption:]
或类似。这可能需要一些额外的工作,但它可以保证无论中断的原因如何都始终保存游戏位置。