【问题标题】:Create Geolocation plugin for phonegap iOS to run in background为 phonegap iOS 创建 Geolocation 插件以在后台运行
【发布时间】:2013-03-17 12:59:20
【问题描述】:

由于 watchposition 在后台运行时间不超过 30 分钟,我必须创建一个地理定位插件,以便每 5 分钟在我的网络服务器上注册一次位置。 另一个问题是我对objective-c一无所知。所以任何人都可以帮助我或给我一些代码,我可以做点什么吗?提前致谢

【问题讨论】:

  • 谁能帮帮我??

标签: ios cordova background geolocation


【解决方案1】:

您无需为 phonegap 应用创建插件即可在后台接收位置更新。我已经制作了一个 iOS 版本的基于 phonegap 的导航器应用程序,并成功地让它在后台运行时接收位置更新。我已经在“现实世界”中对其进行了广泛的测试,它可以可靠地工作,对接收位置更新的持续时间没有任何限制。

首先,您需要使用 XCode 来开发您的 phonegap 应用程序 - 如果您使用的是 Phonegap Build,我不确定您是否可以在您的 iOS 应用程序中设置正确的属性。您可以将“UIBackgroundModes”键设置为“location”的值,这将导致iOS在每次收到位置更新时触发您在watchPosition()中注册的JS回调函数。

有关 iOS 项目密钥的详细信息,请参阅this page

请参阅this page 了解如何在 XCode 中设置背景模式键。您要选择的值是“应用程序注册位置更新”。

希望这会有所帮助!

【讨论】:

  • 在我的测试中,在设置“应用程序注册位置更新”后,我的应用程序在静止状态下只会收到大约十到十五分钟的位置更新。然后更新停止并且不恢复。这在您的测试中有所不同吗?如果是这样,你还有其他事情在做吗? “应用程序注册位置更新”本身似乎还不够。
  • @ScottSaunders 你找到解决办法了吗?
  • @Ajmal:不,我没有。原生代码中有一些新的东西你(stackoverflow.com/questions/17484352/…),但我还没有探索它们是否可以集成到PhoneGap中。
  • @ScottSaunders 抱歉延迟回复。我在现场测试我的应用程序时没有遇到这个问题,因为它是一个引导步行应用程序,用户不断移动。我认为这是“静止不动”的情况造成了不同,因为今天我尝试让我的应用程序运行并且设备静止不动,并且我的应用程序在大约 10 分钟后也停止接收位置更新。然后,我尝试让我的应用程序再次运行,并在周围走动了一个多小时,它一直在接收更新。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多