我的应用程序中有一个映射功能。它属于选项卡栏 Controller 选项卡之一。
我遇到的问题是该应用程序在启动后立即要求位置权限。
在用户真正进入应用程序的 map 部分之前,我不想用与位置相关的问题来打扰用户。
如果我理解正确,位置管理器在我实例化它之前不应该费心要求它。此外,一旦用户离开应用程序的该 map 部分,无论是通过选择其他选项卡还是按主页按钮..I nil 位置管理器。
那么为什么这么快就要求呢?我的问题是在这种特殊情况下是否有一些特殊规则......或者它是由我有缺陷的应用程序设计引起的?
最佳答案
我会选择“流动应用程序设计”。您没有显示任何代码,因此很难说,但 UITabBarController 会立即实例化其所有 View Controller ,因此您的 CCLocation 类可能正在使用您的 TabBar 进行初始化。
您可以做的是:仅在 -viewWillAppear
上初始化您的 CCLocation 内容。您实际使用它的 View Controller 上的方法。
关于ios - CLLocationManager 即使在不需要时仍然存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16961500/