バックグラウンドのアプリケーションまたはデバイスがロックされている間、didEnterRegion()/ didExitRegion()が起動することはありませんでした

Passion.Guo

これは、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];
...
}

少し補完します。私は以下の方法を試しました:

  • 「位置情報の更新」バックグラウンドモードを「はい」に設定します
  • notifyOnExitおよびnotifyOnEntryをtrueとして指定します
  • iOS7.1.2でiPhone4sを再起動します

誰かが私にそれについていくつかの提案をすることができますか?

davidgyoung

バックグラウンド検出をどのくらい待っていますか?状況によっては、これには最大15分かかる場合があります。詳細はこちらをご覧ください。

その記事で説明されているように、場所の更新のバックグラウンドモードをYESに設定する必要はなく、notifyOnExitとnotifyOnEntryをtrueとして指定する必要もありません。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ