开始监测重要位置变化的示例

8

我是iPhone编程的新手。我正在寻找一个关于如何使用CoreLocation Manager的startMonitoringSignificantLocationChanges方法的示例或演示。

我对文档感到困惑,因为我不确定在调用startUpdatingLocation时是否会调用相同的委托方法。(即是否调用委托locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation

任何关于此的帮助都将不胜感激。此外,我正在通过子类化CLLocationManager来在模拟器上进行测试。当在iPhone模拟器上运行时,这个子类提供了位置服务的模拟。有更好的方法来测试吗?

2个回答

20

我已经开始尝试使用“significant change API”进行测试。 我在GitHub上发布了一个示例项目,它可以让您玩转常规和重大位置更新。

这个问题也可能阐明了当您由于重大的位置更改事件被唤醒时会发生什么。

更新

你应该知道的另一件事是,4.1中的CoreLocation存在一个错误。 基本上,如果您的应用程序处于后台状态,则在核心位置尝试唤醒您时,它将崩溃。 这在4.2中得到了修复。


谢谢,cannonade!我会检查那个示例项目的。 - Malolan Santhanakrishnan
@mark 没问题。如果你发现这两个答案中有任何一个有用,请投票支持它们。如果有一个特别的答案能解决你的问题,你可以选择它作为“被采纳的答案”。祝你好运 :) - RedBlueThing
我没有足够的声望来投票回答。但我已将该答案标记为被接受的答案。再次感谢。这个示例应用程序真的很有帮助。您在使用startMonitoringSignificantLocationChanges方面有丰富的经验吗?我问这个问题是因为我是一个新手,正在尝试一些雄心勃勃的事情。由于文档有限,我遇到了像这样的问题。 - Malolan Santhanakrishnan
@Mark 是的,我也遇到了同样的问题(因此提出了相关问题)。我已经取得了一些进展,但是iOS 4.1中的错误阻碍了我的开发工作,直到4.2发布。 - RedBlueThing
我认为4.2版本现在已经发布了,至少是开发者预览版。希望该漏洞得到修复。 - Malolan Santhanakrishnan
请注意:GitHub示例项目的URL已更改为https://github.com/RedBlueThing/LocationTest。 - Niels R.

1

在2010年的WWDC上,有一场关于iOS 4.0 CoreLocation和MapKit新功能的精彩视频会议,所有注册的iPhone开发者都可以在iTunes U免费观看。


谢谢回复,Jason!我是一名注册开发者,但我没有支付99美元。我仍然可以访问这些文件吗? - Malolan Santhanakrishnan
不太确定。试着用您的开发者账号登录iTunes并获取它们。或者登录ADC看看是否有链接。 - Jason McCreary

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接