React原生背景地理定位-iOS



我正在尝试构建一个应用程序,在用户开车时跟踪他们的位置。当主应用程序运行时(在前台(,我可以通过使用react原生地理定位来获取用户的位置,但我正试图弄清楚如何在后台使用它,这样他们就不需要使用该应用程序来跟踪他们(有点像运行中的应用程序,甚至其他地图应用程序。

我正在使用库@mauron85/rect原生背景地理定位。我正确设置了权限(我相信(,但遇到了一个奇怪的错误。为了简洁起见,我不会粘贴我正在使用的整个文件,但我实际上使用的是本例中使用的代码:https://gist.github.com/jonasgroendahl/c4fad8fa48f955b993d928e1c36d76f7

当我在BackgroundGeolocaiton.checkStatus((调用中调用BackgroundGeolocation.start((时,问题就出现了。事件侦听器"前台"、"后台"one_answers"停止"所有工作。检查状态会产生以下值:status.isRunning->false,status.locationServicesEnabled->true,status.authorification->99.

当我调用start((时,应用程序会立即退出并崩溃。没有抛出错误,因此很难确定问题所在。当我重新打开应用程序时,它一到达调用start((方法的页面就会崩溃。"foreground"one_answers"background"事件会正确触发(当它处于各自的状态时(。

我尝试过的东西:

  1. 设置信息.plist属性
  2. 启用的背景模式:Xcode中的位置更新

我试图处理的潜在问题:

  1. 在应用程序的另一部分使用React Native Geolocation库来获取位置一次。如果我能弄清楚这个库,我可以用react native后台地理定位替换其他库(react nativegeolocation(来做任何事情

事实证明,您无法使用iOS模拟器执行后台任务。调用start((使iOS模拟器崩溃,因为它使用后台任务API来告诉手机在进入后台时继续运行它。根据我的理解,调用这个后台任务导致应用程序崩溃。

最新更新