私はユーザーが自分の活動をgps追跡できるアプリケーションを持っています。CLLocationManagerがしばらくしてバックグラウンドでアップデートを受け取っていません
バックグラウンドのGPSアップデートではすべてが正常に動作しますが、非常にまれなケース(1000分の1)があり、私のアプリがバックグラウンドのときにはCLLocationManager
からのアップデートコールを受信できません。すぐにではなく、しばらくしてから。
私のアプリはアップデートの受信を開始してから、突然(数分または数時間の追跡が可能です)、それ以上の場所のアップデートはありません。アプリが再びアクティブになるとすぐに場所の報告が続けられます。もちろん、欠けている場所は悪いです!
いつ、なぜそれが起こったのか分かりませんでした。だから、他の誰かが同じ問題を経験しているかどうか尋ねたいのです。私はそれが通話やそれが中断しているようなものではないと言うことができます。私はdidFailデリゲートメソッドでコールバックも取得しません。私はもう何も得られません.... 大きな問題は、私が目的を持って再現することができないので、それをデバッグする方法についてのアイディアがないことです。
ご協力いただきありがとうございます。
EDIT:ここ
だどのように私のセットアップ私の場所マネージャを起動し、録画ボタンが
[self.locationManager startUpdatingLocation];
EDIT 2を打っているし、後で
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
self.locationManager.distanceFilter = kMinimumDistanceFilter;
self.locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters;
self.locationManager.pausesLocationUpdatesAutomatically = NO;
self.locationManager.activityType = CLActivityTypeFitness;
[self.locationManager requestWhenInUseAuthorization];
[self.locationManager requestAlwaysAuthorization];
if ([self.locationManager respondsToSelector:@selector(setAllowsBackgroundLocationUpdates:)])
{
self.locationManager.allowsBackgroundLocationUpdates = YES;
}
と:
このサービスを開始してアプリが一時停止された場合、アプリはアプリが再び実行されるまで( フォアグラウンドまたはバックグラウンド)、 イベントの配信を停止します。あなたのアプリが終了した場合、新しいロケーションイベントの配信 が完全に停止します。したがって、バックグラウンドで位置イベントを受信するためにアプリに が必要な場合は、 UIBackgroundModesキー(位置値付き)をInfo.plist ファイルに含める必要があります。
私はバックグラウンドでもstartUpdatingLocation
しません...しかし、それは私のアプリに起こっているようです。アプリが停止されている場合、どのように追跡を開始することができますか?それは不可能ですね。中断された原因はコードを実行していないことを意味しますか?
あなたのロケーションマネージャを設定するコードを表示できますか?フォアグラウンドまたはバックグラウンドで 'startUpdatingLocation'を呼び出しますか?重要な場所の監視を有効にしましたか? http://stackoverflow.com/questions/20187700/startupdatelocations-in-background-didupdatingtolocation-only-called-10-20-time – Paulw11
私はいくつかのコードで質問を更新します。助けを求めるThx! 'startUpdatingLocation'はメインスレッドで呼び出され、またアプリケーションがフォアグラウンドになっている間も呼び出されます。私も重要な場所の監視を使用していません... – Georg
あなたのアプリがリニューアルされた場合(つまり、場所のキーが 'didFi ishLaunchingWithOptions'に渡された辞書に存在する場合)、あなたのロケーションマネージャを正しく再設定しますか? – Paulw11