CLFloor在iOS 8中返回nil

tfr*_*377 4 core-location ios swift ios8

所以我试图让Core Location中的CLFloor给我数据,而不是在Swift中返回nil,但是我无法做到.我已经尝试了自己的代码和来自NSHipster的以下代码:

import CoreLocation

class LocationManagerDelegate: NSObject, CLLocationManagerDelegate {
    func locationManager(manager: CLLocationManager!, didUpdateLocations locations: AnyObject[]!) {
        let location: CLLocation? = locations[0] as? CLLocation
        if let floor: CLFloor? = location?.floor {
            println("Current Floor: \(floor?.level)")
        }
    }
}

let manager = CLLocationManager()
manager.delegate = LocationManagerDelegate()
manager.startUpdatingLocation()
Run Code Online (Sandbox Code Playgroud)

有人知道如何在设备或模拟器上完成这项工作,我相信答案会让很多人受益.如果有人知道这个或CLVisit的任何好资源,这也会有所帮助.

Tom*_*ina 9

据我所知,在WWDC会议708中所说的内容 - 在室内采用核心位置,您需要在新Apple的Maps Connect页面上手动注册和设置特定场所,以便在iOS中获取楼层信息.

因此,似乎没有办法为任意场地自动提供楼层信息(例如,基于GPS的高度信息).


iEm*_*mad 5

基于来自 Apple 网站的这 2 个链接

CL地板参考

CLLoaction 类参考

讨论 如果当前位置的楼层信息不可用,则此属性的值为 nil。

我不是 swift 方面的专家,但我认为返回 nil 可能意味着该位置没有楼层信息。