質問: swiftにてiOSアプリの作成を始めた初心者です。十数年前にc言語でPCのソフトを趣味で作っていた程度の経験値になります。 現在、バックグラウンドで定期的(5分間隔程度)にwebAPIにアクセスして、情報の更新があれば通知を行うようなアプリを作りたいと思っています。 自分なりに調べたところ、以下のような印象を受けました。 * バッテリーに負荷をかけないため、基本的にバックグラウンド処理は推奨されない * background fetchは処理の間隔をiOSが決める、かつ毎回一定では無いので5分程度の間隔で処理したい場合は向かない * Silent Push通知を利用して定期的にアプリを起こす?ただしPush通知実装にはサーバーの準備等、初心者には敷居がかなり高そう 時間を明確に指定してバックグラウンド処理を定期的に行うのは困難と考えた方が良いでしょうか? ヒント等頂ければ幸いです。
回答: Objective-Cでの話ですが、 タイマー(NSTimer)と位置情報を連携する方法があります。 位置情報の取得はバックグラウンドでも動作が可能なのですが、 タイマーと連携させることで、 5分ごとに何らかの処理を実行することができるようになります。 以前書いたブログの記事が参考になるかと思います。 位置情報を利用しない話だと思うので、 リジェクトされる可能性はあるかもしれませんが、試してみてはいかがでしょうか? (Swiftにもタイマー処理はあるでしょうし。) 多少でも参考になれば幸いです。