ios - CLLocationManager 即使在不需要时仍然存在

标签 ios objective-c cocoa-touch cllocationmanager

我的应用程序中有一个映射功能。它属于选项卡栏 Controller 选项卡之一。

我遇到的问题是该应用程序在启动后立即要求位置权限。
在用户真正进入应用程序的 map 部分之前,我不想用与位置相关的问题来打扰用户。

如果我理解正确,位置管理器在我实例化它之前不应该费心要求它。此外,一旦用户离开应用程序的该 map 部分,无论是通过选择其他选项卡还是按主页按钮..I nil 位置管理器。

那么为什么这么快就要求呢?我的问题是在这种特殊情况下是否有一些特殊规则......或者它是由我有缺陷的应用程序设计引起的?

最佳答案

我会选择“流动应用程序设计”。您没有显示任何代码,因此很难说,但 UITabBarController 会立即实例化其所有 View Controller ,因此您的 CCLocation 类可能正在使用您的 TabBar 进行初始化。

您可以做的是:仅在 -viewWillAppear 上初始化您的 CCLocation 内容。您实际使用它的 View Controller 上的方法。

关于ios - CLLocationManager 即使在不需要时仍然存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16961500/

相关文章:

iphone - 为 iPhone 本地化货币

ios - 停止调用后从头开始播放AvAudioPlayer文件

android - 为 Phonegap/Titanium 跨平台开发选择硬件

ios - UIButton 没有被实例化

iphone - UITabBarController提供的模态viewController

ios - AVCamPreviewView 初始化缓慢,有时会在关闭/重新打开 View 后导致崩溃 - 使用 AVCam 示例项目

ios - 共享后执行 Segue - Objective-C (Xcode)

ios - 架构 arm64 : "_OBJC_CLASS_$_PFUser", 的 undefined symbol 引用自:

javascript - WKWebView线程1 : signal SIGABRT when using location

ios - 在另一个 UIViewController 中使用一个 UIViewController 中的 UIView?