質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

2765閲覧

iOSで歩数情報を日々記録する方法

matsumura

総合スコア12

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

1グッド

0クリップ

投稿2017/01/31 11:28

###前提・実現したいこと

iOS 9以降向けで、毎日の歩数を記録するアプリを作成したいと考えております。
CMPedometerを使うことになりますが、これは過去7日間しか情報が取得できません。

アプリが起動されるたびに7日間遡って保存していけば大丈夫な話ですが、もしユーザが1週間以上アプリ起動を忘れた場合でも抜けが無く保存したいのです。

###教えていただきたいこと

そこで、バックグラウンドで定期的に(例えば1日に1度)歩数の保存処理を実行したいなと思うのですが、その方法が分かりません。
そもそも、iOSではそのような裏側での定期実行は可能でしょうか。

(Androidであれば、裏でサービスを立ち上げて処理を実行することは可能ですが、iOSでは不可能なのでしょうか。。)

###その他

もしバックグラウンドでの処理の実行が不可能である場合、定期的にローカル通知をして、ユーザにアプリの起動を促そうと考えていますが、もし他に何か良い方法やアイディア等がありましたらお教えいただければと思います。

よろしくお願いいたします。

AyatakaN👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

iOSでバックグラウンド処理を常に走らせることはできませんが、7日以内に実行されればよいのであれば
Background Fetchで実現可能と考えます。

Backgroud Fetchは不定期に実行され12時間以上間隔があいたことはありますが、
1日に一回は実行されるはずです。

  • iOSのBackground Fetchの動作の特徴について

http://www.webbanana.org/goroku/2016/07/07/134.php

などの記事が参考になります。

投稿2017/01/31 15:01

nakasho_dev

総合スコア2655

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

matsumura

2017/02/01 06:19

ありがとうございます! Background Fetchというものがあるのですね、恥ずかしながら知りませんでした。。 リンク先を拝見いたしましたが、 "ただし、ホームボタンダブルクリックで表示されるタスク一覧から削除したアプリは、Background Fetch呼び出しされない。" とあり、iOSにおいてはタスクから消されたアプリがバックグラウンドで定期実行する方法はなさそうでしょう…?
nakasho_dev

2017/02/03 16:51

タスク一覧から削除されない運用をユーザに強いられないのであれば、 ジオフェンシングはいかがでしょうか。 iOSのジオフェンス機能 http://qiita.com/HIkaruSato/items/5b1e7564c3b2d529f4c5 起動時の地点から500m以内の領域から出たらイベントを出すようにしてCMPedometerから歩数を取得し、その際に現在地を起点に500m以内の領域を作成して領域から出たときのイベントを登録する、と繰り返すことで500m移動するごとにイベントを発生させることができそうです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問