私はこれを達成する必要があります: 家族の位置を追跡したいアプリがあります。GPS を常時稼働させたくないので、家族が私の位置を知りたがっているときに、サーバーからリクエストを送信するだけでよいと考えていました。
しかし、いくつかの問題に遭遇しました
。PUSH 通知を使用できません。なぜなら、それらは確認 (タップ) する必要があり、その後で初めてアプリが何かが起こったことを認識するからです。(子供たちはおそらくプッシュ通知をタップしないので、これは素晴らしいことではありません)
もう 1 つのオプションは、アプリをバックグラウンドで実行し続け、サーバーでニュースをチェックし、サーバーで何らかの要求が見つかった場合にのみ GPS を開始することです。サーバーへの座標の追跡とアップロード。これは少し良く聞こえますが、バッテリーの消耗も伴います。
誰かがすでにこれを試しましたか?この問題に対するより良い方法はありますか?
反応ありがとうございます!:)
2 に答える
はい、私はあなたが残した唯一のオプションはバックグラウンドで位置情報サービスを実行することだと思います。
これについては、Plistでに設定Required background modes
しApp registers for location updates
ます。これにより、必要に応じて位置情報の更新を送信できるようになります。ただし、これはアプリケーションが実行中またはバックグラウンドでのみ機能し、アプリケーションが閉じているときは実行されないことに注意してください。ユーザーがアプリケーションを閉じた場合、デバイスから更新を取得したら、プッシュ通知を起動できます。
また、アプリケーションの説明で、アプリケーションはバッテリーを消耗する位置情報サービスを使用していることに注意する必要があります。そうしないと、アプリケーションは承認されません。
この情報がお役に立てば幸いです。
アプリケーションでも同様の問題が発生しました。通知を受信するたびにプッシュ通知ポートをリッスンし続けるというアプローチに従い、それがアプリケーション用かどうかを確認して、それに応じて対応します。
バッテリーの消耗を抑えるために、長時間ポートをリッスンすることができます。申し訳ありませんが、コードを共有することはできませんが、これがお役に立てば幸いです。