Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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
Ios 如何用CoreLocation制作指南针_Ios_Swift2_Xcode7_Core Location - Fatal编程技术网

Ios 如何用CoreLocation制作指南针

Ios 如何用CoreLocation制作指南针,ios,swift2,xcode7,core-location,Ios,Swift2,Xcode7,Core Location,我想在我的应用程序中实现指南针。我看了另一个堆栈溢出问题,它说您可以使用下面的代码 此代码在viewDidLoad方法中使用 var lm:CLLocationManager! lm = CLLocationManager() lm.delegate = self lm.startUpdatingHeading() 这个函数在视图控制器的某个地方 func locationManager(manager: CLLocationManager, didUpdateHeadi

我想在我的应用程序中实现指南针。我看了另一个堆栈溢出问题,它说您可以使用下面的代码

此代码在viewDidLoad方法中使用

var lm:CLLocationManager!
   lm = CLLocationManager()
    lm.delegate = self
    lm.startUpdatingHeading()
这个函数在视图控制器的某个地方

func locationManager(manager: CLLocationManager, didUpdateHeading newHeading: CLHeading) {}

但是,当我在模拟器上运行代码时,没有调用该函数(是的,我导入了CoreLocation并模拟了一个位置)。我做错了什么?

如果你想使用这种方法,那么在设备中运行应用程序,或者你可以使用gpx文件在xcode终端中模拟位置。首先,模拟器没有指南针。你不能在sim卡上这么做

其次,我不确定你是否需要征得用户的许可才能获得标题信息。对于GPS,您需要在info.plist中输入信息并拨打电话请求授权。自从添加了授权要求后,我还没有完成标题代码,所以我不确定是否必须为标题执行此操作。快速浏览文档并没有提到这一点

我建议在设置标题更新时参考Xcode文档:

关键在于:

要获取标题事件,请执行以下操作:

创建CLLocationManager对象

通过调用headingAvailable类方法确定标题事件是否可用

将委托指定给位置管理器对象

如果您想要true north值,请启动位置服务

调用startUpdatingHeading方法开始传递标题事件