将数据添加到iBeacon Advertising Packet

时间:2015-02-09 08:15:33

标签: ios cllocationmanager ibeacon

如何通过iBeacon Advertising Packet添加数据(例如广播其名称)?

我目前的情况:我有3个发射器和1个接收器。但除非我一个接一个地打开或关闭发射器,否则我无法区分它们。

如何向接收方广播信息?以及如何检索此类数据?

接收者代码如下(在App Delegate didFinishLaunchingWithOptions:中):

NSUUID *beaconUUID = [[NSUUID alloc] initWithUUIDString:@"E2C56DB5-DFFB-48D2-B060-D0F5A71096E0"];
NSString *regionIdentifier = @"us.iBeaconModules";
CLBeaconRegion *beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:beaconUUID identifier:regionIdentifier];

self.locationManager = [[CLLocationManager alloc] init];
if([self.locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) {
    [self.locationManager requestAlwaysAuthorization];
}
self.locationManager.delegate = self;
self.locationManager.pausesLocationUpdatesAutomatically = NO;
[self.locationManager startMonitoringForRegion:beaconRegion];
[self.locationManager startRangingBeaconsInRegion:beaconRegion];
[self.locationManager startUpdatingLocation];

2 个答案:

答案 0 :(得分:2)

您可以通过设置信标的主要次要参数来区分它们。

您正在使用UUID @"E2C56DB5-DFFB-48D2-B060-D0F5A71096E0",因此我可以假设您拥有RedBear Beacon。

如果是这样,您可以下载app并配置您的信标(主要,次要,uuid等)。

修改: 正如@ Daij-Djan所写 - 您可以使用CoreBluetooth并通过服务和特性的UUID接收名称,电池电量和其他参数。 例如,您可以阅读RedBear信标here的服务描述和特征。

答案 1 :(得分:0)

您无法使用iBeacons api执行此操作 - 如果您“下拉”,则可以指定自定义数据。到BLE层