1、简介
iBeacon设备是基于蓝牙进行广播的,通过发送广播信号,附近的用户当进入到设备附近的范围区域,即可通过手机与之交互。在iOS开发中,要让iBeacon设备与手机交互开发不是使用CoreBlueTooth库提供的API,而是CoreLocation库,具体来说用的类有CLLocationManager、CLBeaconRegion和CLBeacon类。
2、开发要点
- 用户权限
开发iBeacon,需要用户开启定位权限,在笔者实际试验中发现,用户必须开启“始终”权限。用户选择:“永不”和“在使用期间”都不行。具体代码是调用:requestAlwaysAuthorization方法
常用流程
- 初始化CLLocationManager对象
- (CLLocationManager *)locationManager
{
if (!_locationManager) {
_locationManager = [[CLLocationManager alloc] init];
_locationManager.delegate = self;
}
return _locationManager;
}
- 初始化CLBeaconRegion对象,并且开启区域扫描
CLBeaconRegion *beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:[[NSUUID alloc] initWithUUIDString:self.regionDictionary[key]] identifier:key];