2012-05-11 11 views
0

誰かがこれに対して機密応答をすれば、とても感謝します。私はこのバックグラウンドの実行に関してさらに多くのドキュメントを読んでいますが、コーディングでそれらを実装すると、奇妙な動作を経験しました。フォアグラウンドとバックグラウンドで無限にタスクを実行

私は自分のアプリケーションがバックグラウンドモード(GPS)をサポートしているので、場所の更新が定期的にログに記録されていることがわかります。私は1時間ごとに私のサーバーに位置更新を送信するNSTimerを実行しています。タイマーが何時間も働いていて、突然停止してしまったのは不思議です。

アップルの文書を読んだことがありますが、私は私に依頼し続けています。

1 - タイマーを使用してバックグラウンド/フォアグラウンドで無限にタスクを実行できますか?タイマーがオプションでない場合、タスクを無限に実行するために使用できるAPIは何ですか。

2 - 私のアプリの位置情報サービスを無効にするオプションがある場合、私は行っていません。ユーザーが特定のアプリのロケーションサービスを無効にしないようにする。それはできますか?

Plese HELP !!!!

答えて

1

私はあなたの最初の質問には本当に答えることができませんが、「バックグラウンドで実行している間は最小限の作業を行うべきです」[...]あまりにも多くの時間をバックグラウンドで実行するアプリケーションは、システムまたは殺した "(Source)。

UIBackgroundMode:locationをリクエストしましたか?そうでない場合は、コードをバックグラウンドで実行できるのは限られた時間だけです。

あなたの2番目の質問について:ユーザーの所在地を取得する前に、アプリはユーザーに許可について尋ねます。この権限は拒否される可能性があるため、ユーザーの場所にアクセスすることはできません。許可が与えられても、ユーザーはいつでも許可を取り消すことができます。したがって、ユーザーはアプリの位置情報サービスを無効にすることができます。

+0

お返事ありがとうございます。ご返信いただきありがとうございます。いくつかの分野で私にはっきりとわかります。少し手伝ってください。実際には、アプリケーションがバックグラウンドでforegroundにいても、無限にタスクを実行したいと思っています。なぜなら、私がGPSに行った理由です。バッテリーは今のところ問題ありません。あなたはそれを達成する方法を知っていますか? – Perseus

+0

GSPデータを使用せずに、バックグラウンドで実行できるのはGSPだけですか?はいの場合、私はあなたのアプリがAppleによって拒否されることを確信しています。 – pre

+0

私はGPSデータも使用しています。これは、GPS座標をサーバーに投稿するたびにn分ごとと同じです。 – Perseus