2017-01-21 3 views
0

Я работаю над собственным приложением, чтобы использовать инфраструктуру iBeacon от Apple и пытаюсь войти в консоль список всех устройств bluetoooth в моей близости. Я слежу за this tutorial, но когда я запускаю приложение, на консоль ничего не печатается. Где моя ошибка?отображение данных с маяков

Ниже приводится полный деталь файла контроллера представления я написал:

import UIKit 
import CoreLocation 


class ViewController: UIViewController, CLLocationManagerDelegate { 

let locationManager = CLLocationManager() 
let region = CLBeaconRegion(proximityUUID: NSUUID(uuidString: "852c0828-fe67-4dd7-b8ff-52852a66851e")! as UUID, major: 8008, minor: 1337, identifier: "Testing") 


override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 

    locationManager.delegate = self 

    if (CLLocationManager.authorizationStatus() != CLAuthorizationStatus.authorizedWhenInUse) { 
     locationManager.requestWhenInUseAuthorization() 
    } 

    locationManager.startRangingBeacons(in: region) 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

func locationManager(_ manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], in region: CLBeaconRegion) { 
    print(beacons) 
    print("hello") 
    } 
} 

Ничто не выводится на консоль во время выполнения, в том числе «привет».

ответ

1

Код выглядит хорошо. Вы уверены, что знаете свой маяковый идентификатор и что он передает?

Я бы попытался использовать приложение для обнаружения маякового маяка, например Locate, чтобы проверить, что он может видеть ваш маяк. Обратите внимание, что вы должны настроить UUID маяка в приложении для обнаружения.

Несколько советов:

  • Убедитесь, что ваш Info.plist содержит запись, как это в противном случае он не сможет подсказать вам для доступа местоположение: <key>NSLocationWhenInUseUsageDescription</key><string>This app needs to access your location so it can tell when you are near a beacon.</string>

  • Убедитесь, что вы вам предлагается получить доступ к местоположению, и вы действительно предоставили его. Зайдите в «Настройки» -> [Имя вашего приложения] -> «Местоположение» и подтвердите, что «ДОСТУП ДОСТУПА К ЛОКАЦИИ» имеет галочку, которая не находится рядом с «Никогда».

  • Убедитесь, что bluetooth включен.

0
  1. Сначала проверьте, сконфигурированный proximityUUID, который используется для создания CLBeaconRegion является правильным.
  2. Ваш маяк должен быть активным, что означает, что он не должен быть разряжен, и он должен быть включен, чтобы он мог быть видимым на вашем устройстве, когда ваше устройство будет введено в указанную область маяка.
  3. Также проверьте свой Info.plist и убедитесь, что он должен содержать пару как NSLocationWhenInUseUsageDescription. Чтобы ваше приложение запрашивало доступ к вашему местоположению, и вы должны разрешить доступ к нему.
  4. Ваш Bluetooth должен быть включен.
Смежные вопросы