0
ボタンを押したときにアプリケーションで位置情報サービスを起動するBluetoothデバイスがあります。ロケーションサービスは実行されますが、約8秒間だけ実行されます。私は、NSLogがdidUpdateToLocationデリゲートメソッドでLocation Foundを出力しています。それはNSLogをわずか8秒間出力します。BackgroundLocationUpdatesは数秒間しか動作しません
アプリをフォアグラウンドに置くと、位置情報サービスが再び続行されます。ここで私はロケーションマネージャを初期化する方法である:ボタンを押すと
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
[self.locationManager requestAlwaysAuthorization];
[self.locationManager requestWhenInUseAuthorization];
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[self.locationManager setAllowsBackgroundLocationUpdates:YES];
[self.locationManager allowsBackgroundLocationUpdates];
、私はこれを実行します。
[self.locationManager startUpdatingLocation];
バックグラウンドでの位置の更新を継続的に開始するには、アプリがフォアグラウンドにある間に重要な位置の変更の監視を開始する必要があります。 – Paulw11
テストしただけで機能しますが、必要な操作を行う方法はありません私のアプリで?全く? – Chris
まあ、重要な位置情報の更新を残すだけです。それは完全なGPS位置更新と比較してエネルギーの影響が少ない – Paulw11