3

私は数週間からibeaconsを使用しています.iPhoneがbeaconregionにヒットしたとき(近くにいるとき)、いくつかのローカル通知を投稿しようとしていました。

アプリがロックされ、ディスプレイがオンの状態でバックグラウンドにある場合は正常に機能していましたが、ディスプレイが黒くなると、 didRangeBeacons メソッドが呼び出されなくなりました。

を使えばわかる

 region.notifyEntryStateOnDisplay = true;

表示中に通知を受け取ることができます。

アプリがバックグラウンドでロックされ、表示がオフになっているときに通知を投稿する方法はありますか。

私を助けてください。

4

4 に答える 4

11

バックグラウンドでビーコンを測ることは完全に可能です。

これを現在のロケーションマネージャーと一緒に設定するか、並行するものを作成することで、制限を回避できます (違いはないと思います)。また、プロジェクトでバックグラウンドの位置情報の更新機能を有効にする必要があります。

locationManager2 = [[CLLocationManager alloc] init];
locationManager2.delegate = self;
locationManager2.desiredAccuracy = kCLLocationAccuracyKilometer;
[locationManager2 startUpdatingLocation];

-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{
     //Do nothing here, but enjoy ranging callbacks in background :-)
}

さて、Apple がアプリでバックグラウンドの位置情報更新モードが必要な理由を尋ねたときは、適切な説明が必要です。彼らはそれで非常にうるさいです。

于 2014-02-13T11:07:37.630 に答える