用户退出iOS应用程序(Swift)时如何执行方法?

时间:2016-12-19 05:49:13

标签: ios swift ios-lifecycle

我一直在构建iOS音乐应用程序和 我正在使用 MPMusicPlayerController.systemMusicPlayer()播放设备iTunes资料库中的音乐。

我尝试 applicationWillTerminate 来停止音乐播放器,在我做了一些我发现的研究之后,它没有工作。在iOS 4之后 applicationWillTerminate 方法会*几乎从未被调用,我们必须在 applicationDidEnterBackground 方法中完成所有工作。

但我的观点是,我希望我的音乐播放器在进入后台时继续播放音乐,并且仅在用户强制退出应用程序时停止播放音乐,我该如何实现此行为?

1 个答案:

答案 0 :(得分:1)

重要提示:如果您的应用目前暂停,则不会调用applicationWillTerminate:方法。

即使您使用iOS SDK 4及更高版本开发应用程序,您仍然必须准备好在没有任何通知的情况下杀死您的应用程序。用户可以使用多任务UI显式杀死应用程序。此外,如果内存受限制,系统可能会从内存中删除应用程序以腾出更多空间。暂停的应用程序不会收到终止通知,但如果您的应用程序当前正在后台运行状态(并且未暂停),则系统会调用应用程序委托的applicationWillTerminate:方法。您的应用无法通过此方法请求额外的后台执行时间。

https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/TheAppLifeCycle/TheAppLifeCycle.html