2016-12-19 109 views
-1

我一直在构建iOS音乐应用程序和 我正在使用MPMusicPlayerController.systemMusicPlayer()从设备的iTunes库中播放音乐。如何在用户退出iOS应用程序(Swift)时执行一个方法?

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

但我要说的是,我希望我的音乐播放器保持在播放音乐时进入到后台,只有停止音乐时,用户强制退出应用程序,我怎样才能实现这种行为?

+1

没有设置用于正常终止iOS应用程序的API。更在https://developer.apple.com/library/content/qa/qa1561/_index.html – seggy

回答

1

重要:applicationWillTerminate:如果您的应用程序目前处于暂停状态不叫方法。

即使你使用的是iOS SDK 4和后来开发你的应用程序,你仍然必须为您的应用程序准备没有任何通知被杀害。用户可以使用多任务UI来显式终止应用程序。另外,如果内存受到限制,系统可能会从内存中移除应用程序以腾出更多空间。暂停的应用程序未收到终止通知,但如果您的应用程序当前正在后台运行(并且未挂起),则系统会调用您的应用程序委托的applicationWillTerminate:方法。您的应用程序无法从此方法请求额外的后台执行时间。

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

+0

是的,但有什么办法来实现上述功能? – Poorna

+0

对不起,我已经在我的音乐应用程序中解决了这个问题,但是我使用MPMediaPlayer –

+0

https://github.com/zhaofucheng1129/iOSBackgroundDemo/blob/master/iOSBackgroundDemo/AudioViewController.swift –

相关问题