>定义您正在监控的区域,以便它们包含您的特定主要和次要编号.主要限制是iOS只允许您同时监控20个区域,这意味着您只能为20个不同的iBeacons执行此 *** 作:
CLBeaconRegion *region1 = [[CLBeaconRegion alloc] initWithProximityUUID:[[NSUUID alloc] initWithUUIDString:@"8deefbb9-f738-4297-8040-96668bb44281"] major:1201 minor:3211 IDentifIEr:@"beacon1"]; [_locationManager startRangingBeaconsInRegion:region1]; CLBeaconRegion *region1 = [[CLBeaconRegion alloc] initWithProximityUUID:[[NSUUID alloc] initWithUUIDString:@"8deefbb9-f738-4297-8040-96668bb44281"] major:1798 minor:2122 IDentifIEr:@"beacon2"]; [_locationManager startRangingBeaconsInRegion:region2];...
>仅基于UUID监视区域,但同时也在同一区域上进行测距.您将看到针对您看到的每个特定iBeacon的测距回调. (即使在后台,您也会在进入区域后大约5秒钟获得此信息.)在测距回调中,您可以检查所看到的信标的主要/次要编号,并将它们与您拥有的信标列表进行比较.只有在看到匹配项时才会执行特定 *** 作.如果您继续添加信标,则可能难以在应用中保持此列表最新,因此您可能希望使用像ProximityKit这样的Web服务,以便将您的iBeacon标识符列表存储在云中.
-(voID)locationManager:(CLLocationManager *)manager dIDRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region { for (CLBeacon *beacon in beacons) { if ([self isMyBeaconWithMajor: beacon.major minor: beacon.minor]) { // Yes,this is my beacon! Do something special here } }}-(BOol)isMyBeaconWithMajor: (NSNumber *)major minor: (NSNumber *)minor { // Todo: write code here that returns YES if the major and minor belong to you}
另一个最终的可能性(不可否认的是,你提出的问题)是使用带有自定义UUID的信标,这使事情变得更加容易.完全披露:我是一家公司,销售带有可定制标识符的iBeacons.
总结以上是内存溢出为你收集整理的ios – 可以[LocationManager didEnterRegion]获得灯塔的主要和次要?全部内容,希望文章能够帮你解决ios – 可以[LocationManager didEnterRegion]获得灯塔的主要和次要?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)