iBeacons 在 iOS 10.x 中对框架的更改
iBeacons changes to the framework in iOS 10.x
Swift 3.0 iOS 10.x
在初步了解了 iBeacons 技术后,我正在重新审视 iBeacons 的世界,但似乎发现该框架在 iOS 10.x 中的工作方式发生了重大变化;虽然也许我只是失去了理智。
func locationManager(_ manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], in region: CLBeaconRegion) {
if beacons.count == 0 {
return
}
据我了解,此方法之前返回了一组信标。
它仍然如此,只是它 returns 一个每次只有一个元素的数组。当然,它会继续找到范围内的所有信标,但是在扫描时一发现它就会出现就返回时无法将它们全部确定?
我需要在这里设置什么参数吗?
当使用两个不同的 ProximityUUID 对信标进行测距时,您必须为每个 ProximityUUID 设置两个不同的 CLBeaconRegion
对象,然后为每个对象开始测距。
您将在每秒 CLBeaconRegion
个测距中收到一次测距回调。回调将引用 CLBeaconRegion
和为该区域检测到的 CLBeacon
对象数组。
因为每个区域都有一个信标,所以您在每个回叫信标上看到的是预期的。这就是 API 自 iOS 7.
以来的工作方式
Swift 3.0 iOS 10.x
在初步了解了 iBeacons 技术后,我正在重新审视 iBeacons 的世界,但似乎发现该框架在 iOS 10.x 中的工作方式发生了重大变化;虽然也许我只是失去了理智。
func locationManager(_ manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], in region: CLBeaconRegion) {
if beacons.count == 0 {
return
}
据我了解,此方法之前返回了一组信标。
它仍然如此,只是它 returns 一个每次只有一个元素的数组。当然,它会继续找到范围内的所有信标,但是在扫描时一发现它就会出现就返回时无法将它们全部确定?
我需要在这里设置什么参数吗?
当使用两个不同的 ProximityUUID 对信标进行测距时,您必须为每个 ProximityUUID 设置两个不同的 CLBeaconRegion
对象,然后为每个对象开始测距。
您将在每秒 CLBeaconRegion
个测距中收到一次测距回调。回调将引用 CLBeaconRegion
和为该区域检测到的 CLBeacon
对象数组。
因为每个区域都有一个信标,所以您在每个回叫信标上看到的是预期的。这就是 API 自 iOS 7.
以来的工作方式