2015-11-19 2 views
1

Я создаю приложение с Estimotes indoor Location, любое я использую CoreLocation, чтобы найти наш маяк, и мое приложение изменит label.text. Приложение может работать, но не работает, label.text не может измениться.CoreLocation не может использоваться с Estimotes Beacon

override func viewDidLoad() { 
    super.viewDidLoad() 

    let path = NSBundle.mainBundle().pathForResource("location", ofType: "json") 
    do { 
    let content = try String(contentsOfFile: path!, encoding: NSUTF8StringEncoding) 

    let locationSetup = ESTLocationBuilder.parseFromJSON(content) 

    //set up delegate 
    manager.delegate = self 
    locationManager.delegate = self 
if (CLLocationManager.authorizationStatus() != CLAuthorizationStatus.AuthorizedWhenInUse) { 
     locationManager.requestWhenInUseAuthorization() 
    } 
    locationManager.startRangingBeaconsInRegion(region) 
} 
    func locationManager(manager: CLLocationManager, didRangeBeacons beacons:[CLBeacon], inRegion region: CLBeaconRegion){ 

    let knownBeacons = beacons.filter{ $0.proximity != CLProximity.Unknown } 
    if (knownBeacons.count > 0){ 
     let closestBeacon = knownBeacons[0] as CLBeacon 
     if(closestBeacon.minor.integerValue == 41016) 
     { 
      self.snow.text = "find" 
     } 
    } 
} 
+0

Попробуйте добавить утверждения NSLog внутри didRangeBeacons: inRegion: и внутри ваших двух операторов if. Какие строки журналов печатаются? – davidgyoung

+0

Я добавляю NSLog в код, если (knownBeacons.count> 0) {NSLog ("find beacon") и if (ближайшийBeacon.minor.integerValue == 41016) {NSLog ("catch")} Но Output ничего не может распечатать , Я не знаю, почему эта функция не может работать. –

+0

Где в коде вы инициализируете 'locationManager'? Я не вижу его. Это возможно, ноль? – davidgyoung

ответ

0

Первое, что нужно попробовать:

Я бы переместить инициализацию locationManger = CLLocationManager() вне объявления экземпляра класса и внутри viewDidLoad. Я видел проблемы с инициализацией менеджера местоположений во время построения объекта.

+0

Спасибо, я нашел свою проблему. Я забыл разрешить corelocaiotn, когда тестирую приложение, поэтому я не могу использовать –

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

  • Нет связанных вопросов^_^