4

我有一个现有的 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!!!

而已。

关于去哪里的任何想法?

4

1 回答 1

0

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

于 2012-10-04T21:20:36.243 回答