【问题标题】:CLFloor returning nil in iOS 8CLFloor 在 iOS 8 中返回 nil
【发布时间】:2014-08-12 07:23:12
【问题描述】:

所以我试图让 CLFloor 在 Core Location 中为我提供数据,而不是在 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()

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

【问题讨论】:

    标签: ios swift core-location ios8


    【解决方案1】:

    据我了解WWDC session 708 - Taking Core Location Indoors 中所说的,您需要手动注册并在新Apple 的Maps Connect 页面上设置特定场地,以便获取楼层信息iOS。

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

    【讨论】:

      【解决方案2】:

      基于 Apple 网站上的这 2 个链接

      CLFloor Ref

      CLLoaction Class Ref

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

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

      【讨论】:

      • 这是有道理的。楼层信息是否必须通过其他来源设置?
      • 我猜它是基于 GPS 位置的自动的。和海拔高度可能
      【解决方案3】:

      我不认为 iOS 会神奇地告诉你我所了解的楼层 https://developer.apple.com/videos/wwdc/2014/?id=708。您需要以某种方式以另一种方式获得该号码。例如。您可以捕获一些 iBeacon 信号并从中下载楼层编号,或者在屏幕上滑动以找到您所在的正确楼层地图?

      【讨论】:

        猜你喜欢
        • 2015-08-26
        • 2015-10-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-05
        • 2015-06-09
        • 1970-01-01
        相关资源
        最近更新 更多