これは、iBeacon BluetoothのdidEnterRegionおよびdidExitRegionメソッドの質問に基づくさらなる問題であり、解決されています。
詳細には、didEnterRegionおよびdidExitRegionのメソッドは、バックグラウンドのビーコンアプリケーションまたはデバイスがロックされている間は起動されません。さらに、これらの2つの方法は、ビーコンアプリケーションが前面にあるときに正常にトリガーできます。
私のアプリケーションは、次のリンクにあるアップルのデモ「Airlocated(サンプルコード、apple incが提供)」に基づいています:https://developer.apple.com/library/ios/samplecode/AirLocate/Introduction/Intro.html#/ / apple_ref / doc / uid / DTS40013430-Intro-DontLinkElementID_2。以下のようなコードを追加する以外は、コードをほとんど変更しません。
ファイル「APLAppDelegate.m」内
- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region
{
NSLog(@"Entered region: %@", region);
[self sendLocalNotificationForBeaconRegion:(CLBeaconRegion *)region];
}
- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region
{
NSLog(@"Exited region: %@", region);
}
ファイルAPLMonitoringViewcontroller.m内
- (void)updateMonitoredRegion
{
...
[self.locationManager startMonitoringForRegion:region];
[self.locationManager startRangeingForRegion:region];
...
}
少し補完します。私は以下の方法を試しました:
誰かが私にそれについていくつかの提案をすることができますか?
バックグラウンド検出をどのくらい待っていますか?状況によっては、これには最大15分かかる場合があります。詳細はこちらをご覧ください。
その記事で説明されているように、場所の更新のバックグラウンドモードをYESに設定する必要はなく、notifyOnExitとnotifyOnEntryをtrueとして指定する必要もありません。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加