ビーコンをスキャンするために、objective-c プロジェクト用に Google Nearby API をセットアップしました。
ビーコンの範囲内に移動すると、アプリはビーコンを正常に検出しますが、既に範囲内にいるときにアプリを起動すると機能しません。ビーコンから離れて戻る必要があります。
バックグラウンド スキャンは使用していません。私が使用するライブラリのバージョンは次のとおりです: 0.10.0
私のコードは次のとおりです。
[GNSMessageManager setDebugLoggingEnabled:YES];
_messageManager = [[GNSMessageManager alloc] initWithAPIKey:@"..."];
_beaconSubscription = [_messageManager subscriptionWithMessageFoundHandler:^(GNSMessage *message) {
NSLog(@"beacon found: %@",message);
...
} messageLostHandler:^(GNSMessage *message) {
NSLog(@"beacon lost: %@",message);
...
} paramsBlock:^(GNSSubscriptionParams *params) {
params.deviceTypesToDiscover = kGNSDeviceBLEBeacon;
params.beaconStrategy = [GNSBeaconStrategy strategyWithParamsBlock:^(GNSBeaconStrategyParams *params) {
params.includeIBeacons = YES;
}];
}];
コア ロケーション フレームワークのdidEnterRegion / didExitRegionメソッドはビーコン リージョンの境界を越えたときにのみ呼び出され、didDetermineStateメソッドを使用できることは知っていますが、NearbyAPI はこれらの内部でどのように機能し、どのようにアプリに検出させることができますか?それを使用して、ビーコンは起動時にすでに範囲内にありますか?