2014-12-02 4 views
0

Я загрузил 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 включен.

Почему это никогда не называется? Что я делаю не так?

+0

Вам нужно запросить всегда или когда в разрешении использования и поместить соответствующие ключи в Info.plist - http://stackoverflow.com/questions/24062509/location -services-not-working-in-ios-8/24063578 # 24063578 – Paulw11

ответ

2

Необходимо указать разрешение на размещение в iOS 8, а также добавить строку описания использования в файл plist.

Заканчивать этот ответ более подробно: https://stackoverflow.com/a/24063578/361247

+0

Да, это было :). Найдена одна хорошая статья по этому вопросу, если кто-то будет использовать ее: http://nevan.net/2014/09/core-location-manager-changes-in-ios-8/ – Tommz

Смежные вопросы