質問: monacaでiosアプリを開発しています。 ホームボタンを押してもバックグラウンドでアプリが動いた状態になっている様で、 再度アプリに戻ると、進行中だったゲームの画面に戻り、BGMも再送されます。 ホームボタンを押したらバックグラウンドに回らずにアプリを終了するようにするには、 どうすればよいのでしょうか? xcodeの場合、UIApplicationExitsOnSuspend を Info.plist に設定すると、 アプリが終了するようにできるようなのですが、monacaの場合どうすればよいかわかりません。 参考: Cordovaのpause resumeで処理を書いてみましたが、うまくいきません。 Cordovaのイベント処理 解決方法を教えていただけると助かります。 よろしくお願いいたします。 iosではうまくいかなかったが、Androidのみだとうまくいった方法を下記に記します。 // ホームボタンを押すとBGMが停止し、再度アプリに戻ると再送する ``` document.addEventListener("pause", function() { audio.pause(); },false); document.addEventListener("resume", function() { audio.play(); },false); ``` // ホームボタンを押すとバックグラウンドに回らずにアプリが終了 ``` document.addEventListener("pause", onPause, false); function onPause() { navigator.app.exitApp(); } ``` // バックボタンを押すとバックグラウンドに回らずにアプリが終了 ``` document.addEventListener("backbutton", function(e){ e.preventDefault(); navigator.app.exitApp(); }, false); ```
回答: iosの場合プログラムによるアプリの強制終了はリジェクト対象になる可能性があります。アプリを終了させるのではなくゲームやBGMを止める程度にするべきです。