2013-07-22 5 views
7

私はこれが100万回尋ねられたことは知っていますが、それは私のためにそれを理解することは不可能であった。バックグラウンドの歩数計

私は歩数計アプリケーションを構築し、10分以上バックグラウンドでアプリを送信するとステップイベントをカウントし続ける必要があります。

クライアントはGPSを使用しないことを望んでいます。また、Appleが拒否する可能性があるため、サイレントオーディオを再生しません。

これを行う方法について誰もが持っていますか?

クライアントは参照としてRuntastic歩数計アプリケーションを使用しています。私はそれを分析していますが、これは使用も場所も音楽も使用せず、10分以上バックグラウンドで実行されます。

ヒント?このようにするのは本当に不可能でしょうか? Runtasticの人々が、Appleがそれをバックグラウンドで実行するためにいくつかの秘密のAPIを使用することに同意した可能性がありますか?

答えて

19

:だから、基本的に、彼らはオーディオのトリックを行うと、彼らはいくつかのタイでの外部アクセサリーとの主張

<key>UIBackgroundModes</key> 
<array> 
    <string>audio</string> 
    <string>external-accessory</string> 
</array> 

私は明白なことを言いたくありませんが、あなたの質問は「これらはルールですが、私はそれらに従いたいと思っていません。答えは、次のように表示されます:「あなたが基準の1つを満たすまで、機能をあなたのアプリケーションに追加してください。 iOS版で

、唯一の特定のアプリの種類をバックグラウンドで実行を許可されています:ドキュメントから な音楽プレーヤーとしてバックグラウンドにある間に、ユーザに可聴コンテンツを再生

  • アプリ、アプリ
  • 、ナビゲーションアプリなど、すべての回で彼らの 場所を知らさユーザーを保つ
  • アプリ、インターネットプロトコル上で 音声をサポート
  • アプリ(VoIP)の
  • 外部アクセサリーから定期的に更新を受け取る
  • アプリ

は、だからあなたのアプリにこれらの機能の1を追加し、新たなコンテンツをダウンロードして処理する必要がある個の

  • ニューススタンドアプリを。毎マイル歩いた後で祝う音を鳴らすための設定を追加します。デフォルトでは、そのままにしておいてください。それはオーディオ再生免除の対象となります。ユーザーが1,000マイル歩いたときの位置をマークするための位置情報を取得するオプションがあります。デフォルトでは機能をオフのままにします。それは場所基準に適格でなければならない。 RSSフィードからインスピレーションを受けたHaikuをダウンロードする機能、またはrunnersworld.comのヘッドラインを追加してください。それは新しい内容の理由であなたを得るかもしれません。それは厳しくない。ちょっとした、10行のコードの機能を思いついてみてください。想像力を使って。

  • +0

    ありがとう、私は外部付属品についてさらに調査します。私はあなたが示唆するように場所を使用するのが大好きです、なぜクライアントがなぜGPSを使用していない、神だけがなぜ知っている。 – Ecarrion

    +0

    あなたはipmccをロックします。それは私のために働いた。 –

    +0

    ルールに従えば、偉大なアプリのアイデアは圧倒されます。ありがとう、今私はこの仕事を私のためにする方法を見つけなければならない。 –

    1

    Apple docsを確認できます。アプリケーションでサポートされているバックグラウンドタスクを宣言する。バックグラウンドモードの使用については、this tutorialをチェックすることもできます。

    私はruntastic歩数計を見て、それはその Info.plistファイルに次のように持っている
    +1

    私はこれらの文書を10回も読んだことがありますが、それらによれば、私が理解していることを行うための法的な方法は存在しません。 Runtastic歩数計がそれをやっているのでしかし、それに取りつかれているクライアントが可能です。 – Ecarrion

    +0

    Runtasticが上記のいずれかのモードを使用していて、実現していない可能性はありますか? – Peres

    +0

    リンゴによると、あなたがそれらのメソッドを使用しない場合は、アプリケーションの本当の目的は拒否される、私の音楽を演奏している間私はそれを使用することができるので、アプリケーションは私の場所を求めていない、私は彼らがVOIPをしているかどうかを知る方法はわかりませんが、マイクを使用していないのでそうは思わないです。だから私はアイデアが足りない。 – Ecarrion

    0

    サーバー側がある場合は、バックグラウンドでアプリを実行することを避けることができます。サイレントプッシュを送信して、ステップカウントを報告するためだけにアプリをスリープ状態にします。

    プッシュメッセージが表示されないため、プッシュメッセージを受け取ることをユーザーが確認することなく、サイレントプッシュに登録できます。

    関連する問題