iBeacon是iOS7的新增的功能,通过BLE实现室内定位,精确到厘米级别。

测试使用两台iPhone(支持BLE),一台作为iBeacon基站广播信号,代码使用官方源码AirLocate,另外一台作为接收端,直接使用的是App Store下载的AirLocate)。

1、广播端主要代码

NSDictionary *peripheralData = nil;
        region = [[CLBeaconRegion alloc] initWithProximityUUID:self.uuid major:[self.major shortValue] 
                minor:[self.minor shortValue] identifier:BeaconIdentifier]; peripheralData
= [region peripheralDataWithMeasuredPower:power]; // The region's peripheral data contains the CoreBluetooth-specific data we need to advertise. if(peripheralData) {
        //开始广播
        
[peripheralManager startAdvertising:peripheralData];
     }

iOS7的iBeacon初步使用

2、接收端主要代码

  self.locationManager = [[CLLocationManager alloc] init];
  self.locationManager.delegate = self;

   //接收端的uuid数组需要包含广播端的uuid
  for (NSUUID *uuid in [APLDefaults sharedDefaults].supportedProximityUUIDs)
    {
        CLBeaconRegion *region = [[CLBeaconRegion alloc] initWithProximityUUID:uuid identifier:[uuid UUIDString]];
        self.rangedRegions[region] = [NSArray array];
    }
 
    for (CLBeaconRegion *region in self.rangedRegions)
    {
        [self.locationManager startRangingBeaconsInRegion:region];
    }

 iOS7的iBeacon初步使用

官方源码AirLocate:https://developer.apple.com/library/ios/samplecode/AirLocate/Introduction/Intro.html

App Store地址:https://itunes.apple.com/cn/app/airlocate/id716260068?mt=8

相关文章:

  • 2022-12-23
  • 2021-11-17
  • 2021-09-11
  • 2021-10-05
  • 2021-09-28
  • 2021-09-30
  • 2021-12-06
  • 2021-10-03
猜你喜欢
  • 2021-06-28
  • 2021-05-29
  • 2022-12-23
  • 2021-04-02
  • 2022-12-23
相关资源
相似解决方案