4

我们的用户一直抱怨即使应用程序被杀死,紫色箭头仍然出现,因此他们自动认为它耗尽了他们的电池。

我们通过调用仅使用显着的位置变化

    [locationManager startMonitoringSignificantLocationChanges];

因此,如果我们不停止重要的位置更改,紫色箭头会一直亮着(我们的用户认为他们的电池会耗尽)。

即使我们想在应用程序终止时停止重大的位置更改,我们也不能因为 applicationWillTerminate 很少被调用。

所以有3个选项:

  1. 保持原样 - 但用户一直在抱怨,因为苹果没有区分使用常规电池消耗位置的应用程序和使用显着位置变化的应用程序。
  2. 使用常规的 [locationManager startUpdatingLocation],这样当应用程序终止时,监控也会终止。这里的问题是,只要应用程序没有终止,它确实会消耗用户的电池。
  3. 称呼

    (void)applicationDidEnterBackground:(UIApplication *)application
    {
        [locationManager stopMonitoringSignificantLocationChanges];
    }
    

    这里的问题是我们没有从背景中的位置变化中受益……</p>

是否有任何其他建议可以让我们这样做:

  1. 只要应用程序是后台就可以监控位置(紫色箭头在这里是可以的)
  2. 当应用程序被杀死时停止位置监控(紫色箭头在这里不可以)
  3. 使用显着位置更改,以免耗尽用户的电池。

?

谢谢

4

1 回答 1

8

也许你的解决方案都跑题了。

  • 您声称您的用户只有一个问题,因为他们认为电池耗尽。
  • 您还声称您的用户希望在不消耗电池的情况下获得位置监控的好处。

您正试图通过围绕它进行工程来解决用户的认知误解。

相反,你为什么不向你的用户解释一下呢?

  1. 您可以弹出一个漂亮的模态视图控制器,以告知他们在离开位置监控时获得的所有好处。
  2. 你可以解释一下对电池的误解。
  3. 而且您可以提供一个设置,如果他们愿意,他们可以将其关闭。
于 2012-11-18T18:49:55.123 回答