【Ionic3】iOSでバックグラウンド中に動作停止させない設定
iOSアプリでネイティブの機能にアクセスするときにエラーが発生することがありました。 アプリをホームボタンでバックグラウンド状態にした時に発生していたようです。 どうやらネイティブ機能の処理中にバックグラウンドにし、再度フォアグラウンドに戻すとエラーとなっていたようです。
そこで、バックグラウンド状態になっても処理を停止しないように config.xml で設定するようにしました。
config.xml に追記したのは以下の内容です。
<platform name="ios"> <config-file platform="ios" target="*-Info.plist" parent="UIBackgroundModes"> <array> <string>external-accessory</string> </array> </config-file> </platform>
Info.plist はアプリ設定を定義する設定ファイルです。
ionic platform add ios
上記のコマンドで生成される xcodeproj ファイルを開いて Xcode で Info.plist の設定情報を確認することができます。
xcodeproj ファイルは以下の場所にあります。
platform/ios/project-name.xcodeproj
今回設定したバックグラウンドの設定はXcodeの以下の場所から確認できます。
Xcode > Capabilities > Background Modes
Xcode のキャプチャを見ると Background Modes の選択肢は、今回設定した external-accessory 以外にも在ることがわかります。
他の設定を有効する記述方法は以下の通りです。
<platform name="ios"> <config-file platform="ios" target="*-Info.plist" parent="UIBackgroundModes"> <array> <string>audio</string> <string>location</string> <string>voip</string> <string>newsstand-content</string> <string>external-accessory</string> <string>bluetooth-central</string> <string>bluetooth-peripheral</string> <string>fetch</string> <string>remote-notification</string> </array> </config-file> </platform>