Ich versuche, eine App zu machen, die die Nähe von Beacons zeigt. Ich habe eine label
, um diese Daten zu erhalten, aber ich kann nicht, und ich möchte nur "Nähe" nicht alle diese Daten, die in der Konsole zeigt. Ich versuche mit beacons[3]
, aber das Programm gibt mir einen Fehler.Console Print to Label mit Swift 2
import UIKit
import CoreLocation
class ViewController: UIViewController, CLLocationManagerDelegate {
@IBOutlet var metrosBeacon: UILabel!
let locationManager = CLLocationManager()
let region = CLBeaconRegion(proximityUUID: NSUUID(UUIDString: "FDA50693-A4E2-4FB1-AFCF-C6EB07647828")!, identifier: "MKT BEACONS")
// Note: make sure you replace the keys here with your own beacons' Minor Values
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.startRangingBeaconsInRegion(region)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func locationManager(manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], inRegion region: CLBeaconRegion){
print (beacons)
metrosBeacon.text = "/(beacons)"
}}
Console Daten:
[CLBeacon (UUID: < __NSConcreteUUID 0x12ee586c0> FDA50693-A4E2-4FB1-AFCF-C6EB07647828, major: 10004, minor: 54480, Proximity: 1 +/- 0.05 m, rssi: -32)]
Danke Jungs !!
Der Fehler, den Sie von Aufruf erhalten Baken [3], da weniger passiert werden kann, als vier Beacons sind sichtbar. Ich würde eine Lösung wie @ eric-d in seiner Antwort verwenden, wo Sie auf 'beacons.first' zugreifen, um die erste zu erhalten, und dann auf sein Näherungsfeld zugreifen. – davidgyoung