我已经下载app来配置我从Accent系统购买的信标。它识别正在传输的信标,我可以轻松配置它。我已经使用uuidgen工具为信标制作一些UUID并在应用程序中进行设置。让我们说这个生成的UUID是" XXX-XXX" (我知道它的时间更长,而且它的十六进制值)。那么,它在我的灯塔中的设置如下:
UUID:XXX-XXX 专业:1111 次要:0001
我在代码中使用的那个UUID。我已将视图控制器设置为CLLocationManagerDelegate
,并且在viewDidLoad
方法中我有以下代码:
NSUUID *myUUID = [[NSUUID alloc] initWithUUIDString:@"XXX-XXX"];
CLBeaconRegion *region = [[CLBeaconRegion alloc] initWithProximityUUID:myUUID
identifier:@"Company"];
CLLocationManager *locManager = [[CLLocationManager alloc] init];
[locManager setDelegate:self];
[locManager startRangingBeaconsInRegion:region];
我还在该视图控制器中设置了以下方法,但它们永远不会被调用:
- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region
- (void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons
inRegion:(CLBeaconRegion *)region
我在Ipad Air上进行了测试,蓝牙已开启。
为什么永远不会被召唤?我究竟做错了什么?
答案 0 :(得分:2)
您需要在iOS 8中询问位置权限,并在plist文件中添加使用说明字符串。
请查看此答案以获取更多详细信息:https://stackoverflow.com/a/24063578/361247