2016-12-19 7 views
-1

私はiOS Musicアプリケーションを構築していました。 私は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 –

関連する問題