1

私はEstimote iBeaconsのパックを手に入れたばかりで、とても簡単に思えることをしようとしています.

didEnterRegion メソッドをトリガーしたビーコンから「メジャー」と「マイナー」の ID を取得したいと思います。方法は以下です。

-(void)beaconManager:(ESTBeaconManager *)manager
      didEnterRegion:(ESTBeaconRegion *)region
{
    UILocalNotification *notification = [[UILocalNotification alloc] init];
    notification.alertBody = @"Welcome home rockstar!";
    notification.soundName = UILocalNotificationDefaultSoundName;
    [[UIApplication sharedApplication] presentLocalNotificationNow:notification];
} 

私は、Estimote ビーコンの UUID が常に B9407F30-F5F8-466E-AFF9-25556B57FE6D であることを知っています。しかし、このイベントをトリガーした特定のビーコンからメジャー ID とマイナー ID を取得するにはどうすればよいでしょうか? 2 つの ID を NSStrings としてフォーマットしたいと思います。

どんな援助も素晴らしいでしょう!ありがとう!

4

4 に答える 4

2

メジャーとマイナーを取得するのは簡単です。測距と監視を組み合わせるだけです。詳細な手順は、この質問に対する私の回答にあります: iBeacon: メジャーとマイナーを取得 - uuid のみを探します

于 2013-12-01T13:45:53.457 に答える
2

ESTBeaconRegion.hファイルによると、 anはプロパティとプロパティを持つESTBeaconRegionサブクラスです。CLBeaconRegionmajor NSNumber *minor NSNumber *

したがって、次のことができるはずです。

- (void)beaconManager:(ESTBeaconManager *)manager didEnterRegion:(ESTBeaconRegion *)region {
    NSNumber *major = region.major;
    NSNumber *minor = region.minor;
    ...
} 
于 2013-12-01T03:57:52.533 に答える
1

Estimote のビーコンとビーコン リージョン クラスは Apple のクラスに基づいており、(おそらく) 同じように動作します) 私が行った作業では、それらのクラスを無視し、CLBeacon と CLBeaconRegion を使用しました。

メジャー バージョン番号とマイナー バージョン番号のないビーコン リージョンを設定した場合、Estimote のクラスが Apple のクラスと同じように機能すると仮定すると、一致する UUID を持つビーコンは、enteredRegion 通知と exitRegion 通知をトリガーしますが、メジャー値とマイナー値は通知で空白になります。レンジング コールを要求して受信しない限り、イベントをトリガーしたビーコンのメジャー値とマイナー値を取得することはできません。

代わりに、メジャー値またはメジャー値とマイナー値を使用してビーコン リージョンを作成すると、それらの値に一致するビーコンの通知のみを受け取ります。このような場合、取得するリージョン オブジェクトには、リージョンの作成時に指定したメジャー値またはメジャー/マイナー値が含まれますが、それらの値は変更されません。

于 2013-12-01T04:43:00.403 に答える
1

例を見てください: Estimote / iOS-SDK / ProximityDemo

あなたがする必要があるように見えます
:

ESTBeaconManager

それから

startRangingBeaconsInRegion

デリゲート メソッドで:

-(void)beaconManager:(ESTBeaconManager *)manager
     didRangeBeacons:(NSArray *)beacons
            inRegion:(ESTBeaconRegion *)region

ビーコンの配列を取得し、各ビーコンについて:

ibeacon.major
ibeacon.minor
于 2013-12-01T04:08:47.747 に答える