[iPhone] Background バックグランド処理

バックグラウンドはできるだけ避けるべきというのがAppleのスタンスでしょうか 。ただ、バックグラウンドでもオーディオや位置情報を使うことはできるようです。
 

Swift 5.1
Xcode 11.3.1

 

Background Modes

 
バックグラウンド実行 – Apple Developerには、audioや位置情報、通知などはバックグラウンドでも動作することが必要なので説明も多いようです。
 
audioは継続的にバックグラウンドで動作させたいので実際に使って見ます。
 

 

Background Modesの設定

 
「TARGET」->「Signing & Capabilities」から「+Capabilities」をクリックするとダイアログが表示されるので「Background Modes」を選択します。

Background Modesが追加されるので、「Audio, AirPlay …」にチェックします。
 

 
Info.plist に background modes が追加されています。
 

 

AVAudioplayer

 
AVAudioplayerを使ってmp3を再生してみます。以下のままコードを記述しstoryboardを設定します。
 

MP3などのミュージック・ファイルを再生させるにはどうするのか? AVAudioplayer は色々と設定ができますが、まず簡単な音楽再生ア...
 

 

AppDelegateの設定

 
AVAudioSessonをAppDelegateに設定します。

AppDelegate.swift

 
バックグラウンドなので実機てテストします。実行するとバックグラウンドでも再生しているのがわかります。
 
オーディオを再生するとしながら、実際は別の処理をさせて音楽は無音にするということを考える方がいるとは思いますが、リジェクトされるかもしれません

2.5.4 マルチタスクAppには、VoIP、オーディオ再生、位置情報取得、タスクの完了、ローカル通知など、適切なバックグラウンドサービスのみを使用してください。バックグラウンドでの位置情報取得モードを使用する場合は、それによってバッテリー持続時間が大幅に減少する可能性があることを通知してください。

Reference: App Store Reviewガイドライン
通知もしろという御達しです。

Error:

というエラーがLogとして吐き出されているのですが、これはバグのようでiOS13.4で修正されるということらしいです。
Open Radar Community bug reports

一人でアプリ開発の限界を感じたら

アプリ開発を始めたけどわからないところがあり、誰かに聞きたいけど周りにはそんな人はいない…あるいは、会社で働いていて日中そんなに時間をとれないなど、オンライン・スクールがいいと思います。


TECH ACADEMY
自宅にいながら1時間でプログラミング基礎を習得

こういうものではアプリ作れないと言う意見もありますが、それは結局本人のやる気があるかないかです。やる気があっても独学では突破しにくいところは教えてもらうのが一番早い。


侍エンジニア塾
侍エンジニア塾 無料体験レッスン



とても簡単なことなのに本やネットの画像だけでは分かりにくいことはあります。実際に質問してピンポイントで教えてもらうと、なんだそんなこと、と言うのがけっこうあります。


CodeCamp
~約20,000名の受講生と300社以上の導入実績~
現役エンジニアのオンライン家庭教師CodeCamp




直接(ネットで)誰か分かる人に聞いた方が早く解決して、上達も早いと思います。


誤字脱字、意味不明などのご意見は 謙: e-mail まで
ブックマークしておくと便利です このエントリーをはてなブックマークに追加
Twitter:


シェアする

  • このエントリーをはてなブックマークに追加

フォローする