Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 信标UUID描述_Swift_Ibeacon - Fatal编程技术网

Swift 信标UUID描述

Swift 信标UUID描述,swift,ibeacon,Swift,Ibeacon,我正在开发一个iOS应用程序,它可以在一个区域内设置信标。我有一个CLLocationManager代表,定期从区域内的所有信标获取信息。我有一个for循环,它遍历所有找到的信标并将数据打印到控制台 for i in 0..<knownBeacons.count{ var uuid = knownBeacons[i].proximityUUID.description println(uuid) } 0中的i的。。3) { 对于0中的i…不幸的是…我

我正在开发一个iOS应用程序,它可以在一个区域内设置信标。我有一个CLLocationManager代表,定期从区域内的所有信标获取信息。我有一个for循环,它遍历所有找到的信标并将数据打印到控制台

for i in 0..<knownBeacons.count{
    var uuid = knownBeacons[i].proximityUUID.description
    println(uuid)
}
0中的i的
。。3) {           

对于0中的i…不幸的是…我尝试了。我在XCode中得到了以下错误:
'nsuid!'没有名为'UUIDString'的成员。
为什么它说nsuid!,它是需要展开的可选项吗?例如
let thing=nsuid()
let thing=thing.UUIDString
println(that)
适用于我。您如何创建knownBeacons数组?我已更新了原始问题以澄清我如何创建knownBeacons数组。是的,您需要打开ProximityUID提供的NSUID。更新了我的答案。
<__NSConcreteUUID 0x1700351e0> B9407F30-F5F8-466E-AFF9-25556B57FE6D
class ViewController: UIViewController, CLLocationManagerDelegate {

    let locationManager = CLLocationManager()
    let region = CLBeaconRegion(proximityUUID: NSUUID(UUIDString: "B9407F30-F5F8-466E-AFF9-25556B57FE6D"), identifier: "Estimotes")

    override func viewDidLoad() {
        super.viewDidLoad()

        locationManager.delegate = self;
        if(CLLocationManager.authorizationStatus() != CLAuthorizationStatus.AuthorizedWhenInUse){
            locationManager.requestWhenInUseAuthorization()
        }
        locationManager.startRangingBeaconsInRegion(region)
        locationManager.startUpdatingLocation()
    }

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

    func locationManager(manager: CLLocationManager!, didRangeBeacons beacons: [AnyObject]!, inRegion region: CLBeaconRegion!){
        let knownBeacons = beacons.filter{ $0.proximity != CLProximity.Unknown }
        if(knownBeacons.count > 3) {           
            for i in 0..<3{
                var uuid = knownBeacons[i].proximityUUID
                var major = knownBeacons[i].major
                var minor = knownBeacons[i].minor
                var proximity = knownBeacons[i].proximity.rawValue
                var rssi = knownBeacons[i].rssi
                var accuracy = knownBeacons[i].accuracy.description
                println(uuid)
            } 
        }
    }
}
var uuid = knownBeacons[i].proximityUUID!.UUIDString