ios - 如何在 UIViewController 消失时停止位置管理器

标签 ios cllocationmanager cllocation

我在 -viewDidLoad: 方法中启动了位置管理器。同样,当用户移动到另一个 View 时,我需要停止它。我该怎么做?

我试图在 -viewDidUnload 中停止它,但没有成功,因为我认为它只会在内存不足时被调用。

最佳答案

您可以使用 -viewWillAppear:-viewWillDisappear: 来开始和停止定位用户,而不是 -viewDidLoad/- viewDidUnload。可能有更好的方法来做到这一点;我在自己的一个应用程序中就是这样做的。

或者,您可以注册 UIApplication 通知,例如UIApplicationWillResignActiveNotification,停止更新位置,以防用户按下主页按钮。我认为这就是 Maps.app 实现的行为。

关于ios - 如何在 UIViewController 消失时停止位置管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9673488/

相关文章:

swift - CLLocation + 天气(Alamofire)问题

iOS:后台定位应用耗电过多

ios - 将 CLLocationCoordinate2D 转换为可以存储的字符串

ios - 如何将图像组合成 JPG 图像/ Sprite 并在 Rails 或 iOS 上写入元数据

ios - SpriteKit 支持不同的屏幕尺寸

ios - 隐藏和显示音量指示器

ios - 让一个非常简单的 Swift CoreLocation 示例工作

ios - 没有手机/wifi 连接的 MKMapview 无法在设备上正确显示

ios - Razer Nabu - 集成问题

iphone - 我的应用程序仅请求推送通知权限,但不请求位置。我该如何解决这个问题?