Swift ios アプリを使用して、Google Nearly API (iBeacon API ではない) を使用してビーコンをスキャンしたい
Google developer docを見て、同じサイトから git サンプルを取得しました。
これが私のコードです
初めて実際のiOSデバイスにアプリをインストールしました
ただし、found
およびlost
ハンドラーは呼び出されません。
バンドル ID、パブリック ios API キー (ビーコン アタッチメントの同じ Google コンソール プロジェクト) を再確認しました。
ただし、動作中の登録済みビーコンの近くではまだ機能しません。
同じビーコンのスキャンに成功する Android アプリもあります。
他に何が確認できますか?
"Strategy"
私の迅速なコードにコードがありません。
どうすればこれを追加できますか? github の例にこれがないのはなぜですか?
GNSStrategy *beaconStrategy = [GNSStrategy
strategyWithParamsBlock:^(GNSStrategyParams *params) {
params.includeBLEBeacons = YES;
}];
GNSSubscriptionParams *beaconParams = [GNSSubscriptionParams
paramsWithMessageNamespace:@"com.mycompany.mybeaconservice"
type:@"mybeacontype"
strategy:beaconStrategy];
_beaconSubscription = [_messageManager subscriptionWithParams:beaconParams
messageFoundHandler:myMessageFoundHandler
messageLostHandler:myMessageLostHandler];
私のコードで:
func startScanning() {
if let messageMgr = self.messageMgr {
// Subscribe to messages from nearby devices and display them in the message view.
subscription = messageMgr.subscriptionWithMessageFoundHandler({[unowned self] (message: GNSMessage!) -> Void in
self.mainViewController.location_text.text = (String(data: message.content, encoding:NSUTF8StringEncoding))
self.mainViewController.startRefreshTimer()
},
messageLostHandler: {[unowned self](message: GNSMessage!) -> Void in
if (self.mainViewController.userState.enrollState == EnrollState.confirmPosition)
{
self.mainViewController.stopRefreshTimer()
self.mainViewController.enrollButtonManager.setSearchingForBeaconsBtn()
}
})
}
}