【问题标题】:Add data to iBeacon Advertising Packet将数据添加到 iBeacon 广告包
【发布时间】:2015-02-09 08:15:32
【问题描述】:

如何通过 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];

【问题讨论】:

    标签: ios cllocationmanager ibeacon


    【解决方案1】:

    您可以通过设置beacon的ma​​jorminor参数来区分它们。

    你使用的是 UUID @"E2C56DB5-DFFB-48D2-B060-D0F5A71096E0",所以我可以假设你有 RedBear Beacon。

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

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

    【讨论】:

    • 好主意。实际上我正在使用 AirLocate 和 iBeaconUS 演示。我可以分配不同的版本号来暗示信标的不同 ID。谢谢!
    【解决方案2】:

    你不能用 iBeacons api 做到这一点——如果你“下拉”到 BLE 层,你可以指定自定义数据

    【讨论】:

    • 甚至没有设备的名称?哎呀。所以我必须改用 CoreBluetooth API?
    • 是的,这就是你必须要做的......或者你使用在线后端来分发数据
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    • 2010-12-07
    相关资源
    最近更新 更多