如何通过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];
答案 0 :(得分:2)
您可以通过设置信标的主要和次要参数来区分它们。
您正在使用UUID @"E2C56DB5-DFFB-48D2-B060-D0F5A71096E0"
,因此我可以假设您拥有RedBear Beacon。
如果是这样,您可以下载app并配置您的信标(主要,次要,uuid等)。
修改强>: 正如@ Daij-Djan所写 - 您可以使用CoreBluetooth并通过服务和特性的UUID接收名称,电池电量和其他参数。 例如,您可以阅读RedBear信标here的服务描述和特征。
答案 1 :(得分:0)
您无法使用iBeacons api执行此操作 - 如果您“下拉”,则可以指定自定义数据。到BLE层