在iOS 6上,getCurrentPosition几乎总是在PhoneGap 1.3中失败

时间:2012-09-24 23:55:39

标签: javascript html5 cordova geolocation

我有一个现有的PhoneGap 1.3应用程序,它可以在iOS 4和5中运行良好的地理位置。在iOS 6中,getCurrentPosition几乎总是触发故障回调。发生故障后,其他getCurrentPosition调用不会触发成功或失败回调。我已将应用程序缩减为以下代码,该代码与我的完整应用程序具有相同的行为。

document.addEventListener("deviceready", function() {
  console.log('deviceready!!!');
  successCallback = function() {
    console.log('success!!!');
  };
  failureCallback = function() {
    console.log('failure!!!');
    navigator.geolocation.getCurrentPosition(function() { console.log('success 2'); }, function() { console.log('failure 2'); });
  };
  navigator.geolocation.getCurrentPosition(successCallback, failureCallback);
}, false);

当它失败时,这就是我在日志中得到的结果:

2012-09-24 16:26:46.576 MyAppName[7250:16703] [INFO] deviceready!!!
2012-09-24 16:26:56.582 MyAppName[7250:16703] [INFO] failure!!!

没有更多。

关于该去哪里的任何想法?

1 个答案:

答案 0 :(得分:0)

答案:将PhoneGap.plist中的EnableLocation设置为NO。显然,将其设置为YES会导致在iOS 6中运行的PhoneGap应用程序出现内存问题。已经实施了修复,但截至目前,我认为它不在官方的PhoneGap版本中。 FWIW,我找不到任何真正了解EnableLocation的人。