我们的用户一直提示即使应用已被终止,紫色箭头仍会出现,因此他们不自觉地认为它正在耗尽电池。
我们仅通过调用来使用显着的位置更改
[locationManager startMonitoringSignificantLocationChanges];
因此,如果我们不停止重大位置更改,紫色箭头会一直亮着(我们的用户认为他们的电池会耗尽)。
即使我们想在应用程序终止时停止显着的位置更改,我们也做不到,因为 applicationWillTerminate 很少被调用。
所以有3个选项:
- 保持原样 - 但用户不断提示,因为 Apple 没有区分使用常规电池消耗位置的应用程序和使用显着位置变化的应用程序。
- 使用常规 [locationManager startUpdatingLocation],这样当应用程序终止时,监控也会终止。这里的问题是,只要应用程序没有终止,它就会消耗用户的电池。
打电话
(void)applicationDidEnterBackground:(UIApplication *)application { [locationManager stopMonitoringSignificantLocationChanges]; }
这里的问题是我们无法从后台的位置变化中获益......
是否有任何其他建议可以让我们这样做:
- 只要应用是后台就可以监控位置(这里紫色箭头就可以)
- 当应用程序被杀死时停止位置监控(紫色箭头在这里不行)
- 使用重大位置更改,以免耗尽用户的电量。
?
谢谢
最佳答案
也许您的解决方案都离题了。
- 您声称您的用户遇到问题只是因为他们认为电池耗尽。
- 您还声称您的用户希望在不消耗电池电量的情况下进行位置监控。
您正试图通过围绕它进行工程设计来解决用户的认知误解。
相反,您为什么不向您的用户解释呢?
- 您可以弹出一个漂亮的模态视图 Controller ,告知他们在启用位置监控时可以获得的所有好处。
- 你可以解释电池的误解。
- 并且您可以提供一个设置,如果他们愿意,他们可以随时将其关闭。
关于iphone - 在用户不认为他们的电池会耗尽的情况下使用显着的位置变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13441823/