Я загрузил app для настройки маяков, которые я купил у систем Accent. Он распознает маяк, который передает, и я могу легко настроить его. Я использовал инструмент uuidgen, чтобы сделать UUID для маяка и настроить его в приложении. Предположим, что этот сгенерированный UUID является «XXX-XXX» (я знаю, что он длиннее и что это значение HEX). Так, как это установлено в моем маяка следующее:Ipad Air не распознает iBeacon
UUID: XXX-XXX Major: 1111 Minor: 0001
То же UUID я использовал в своем коде. Я настроил мой View Controller для 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, и Bluetooth включен.
Почему это никогда не называется? Что я делаю не так?
Вам нужно запросить всегда или когда в разрешении использования и поместить соответствующие ключи в Info.plist - http://stackoverflow.com/questions/24062509/location -services-not-working-in-ios-8/24063578 # 24063578 – Paulw11