【问题标题】:Monitoring Significant Location Changes, App closed GPS signal (Arrow)监控重大位置变化,应用程序关闭 GPS 信号(箭头)
【发布时间】:2013-03-25 16:46:57
【问题描述】:

首先我希望不要重复任何话题,我在问之前花了很多时间在互联网上阅读。

我正在为 iOS => 5 开发应用程序,我需要获取用户位置,但我并不总是需要非常准确的位置,因此当应用程序进入后台时,我将正常位置模式更改为重要位置更改,当应用程序进入前台时,我停止重要的位置更改模式并恢复正常的位置模式,一切都很好,

我的问题是当应用程序进入后台模式甚至用户 KILL 应用程序时,GPS 信号(紫色箭头)仍然出现,即使在重新启动设备后,唯一让它消失的方法是卸载或在应用程序进入后台时禁用重要的位置更改,但是当用户进入后台模式时我需要此模式工作,也许在应用程序被终止时不需要。

我不知道当用户杀死应用程序时如何停止服务...因为如果您启用了多任务,则不会调用事件“applicationWillTerminate”。

我的主要原因是我不希望紫色箭头总是出现,即使应用程序被杀死也是因为我不希望用户认为应用程序正在耗尽电池......所以用户不会想要应用已安装。

第一个问题:如果应用开启了重大位置变更,紫色箭头一直出现,即使应用被杀,这正常吗?

第二个问题:有什么办法可以改变这一点,至少在应用程序被杀死以隐藏紫色箭头时停止服务?

谢谢大家。 如果有问题,对不起我的英语。

【问题讨论】:

    标签: ios iphone gps location


    【解决方案1】:

    经过几天的研究以确定这项服务,似乎没有办法在没有顶部栏中的箭头的情况下使用背景中的重大位置变化。我一直在测试不同的应用程序并通过互联网阅读,但没有任何解决办法。

    唯一的“解决方法”是在应用程序中禁用多任务模式,并在“applicationWillTerminate”事件中禁用重要的位置更改,但没有意义......我总是会丢失后台位置只有当应用程序被杀死时......所以没有用。

    这很糟糕......是一项非常好的服务,可以节省电池电量,但作为用户和开发人员,我不希望应用程序在应用程序被杀死后总是出现这个图标,作为开发人员我不想要人们出于这个原因卸载了该应用程序,作为普通用户,我不知道这个图标是什么意思,如果是正常的 GPS 或重要的位置发生变化,这意味着什么......如果我的电池正在耗尽。

    在后台任务中获取位置但对电池有很大影响的另一个选项....

    我希望苹果在未来的版本中解决这个问题...添加至少一个新箭头或仅在新位置到达时显示而不是始终显示或在应用程序被终止时允许弯腰。

    所有这些都在 iOS - 6.1 上进行了研究

    谢谢大家。

    【讨论】:

      【解决方案2】:

      当您使用重大位置更改服务时,操作系统会保持您的应用运行。如果应用程序在后台并被杀死,操作系统会重新启动它,因此紫色箭头将始终显示。当检测到新位置时,应用程序将重新启动。来自文档:

      如果您让此服务继续运行并且您的应用随后被暂停或终止,则该服务会在新的位置数据到达时自动唤醒您的应用。在唤醒时,您的应用程序将进入后台并给予少量时间来处理位置数据。 ...要停止重大变化的位置服务,请调用stopMonitoringSignificantLocationChanges方法。

      【讨论】:

      • 感谢您的回复,但文档说“当新的位置数据到达时,该服务会自动唤醒您的应用程序”,但我没有收到任何位置更新,只需关闭应用程序,它应该会消失直到应用程序被唤醒时的下一次位置更新?谢谢。
      【解决方案3】:

      嗯,有趣。我刚刚看到另一个应用程序的问题 - 看到箭头仍然活跃让我想禁用该应用程序的位置更新,所以问题是真实的。我能想到的最好的事情是设置某种计时器,在一定时间后禁用位置监控(如果这适合您的应用)。

      【讨论】:

      • 感谢您的回复,也许我错了,但如果应用程序被杀死,我无法在一段时间后执行任何后台任务或计时器来禁用它。是这样吗?
      • 如果操作系统想要杀死你的应用程序,你会得到一个 applicationWillTerminate,但如果用户杀死它,我认为你什么也得不到。因此,这听起来并不能完全解决您的问题。
      • 谢谢,但是是的......这并没有完全解决问题......如果杀死应用程序并仍然出现图标,用户仍然会认为完全禁用该位置或删除应用程序.. .
      猜你喜欢
      • 1970-01-01
      • 2012-03-07
      • 1970-01-01
      • 2012-06-11
      • 2012-03-22
      • 2013-07-04
      • 1970-01-01
      • 1970-01-01
      • 2013-08-26
      相关资源
      最近更新 更多