我有一个现有的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!!!
没有更多。
关于该去哪里的任何想法?
答案 0 :(得分:0)
答案:将PhoneGap.plist中的EnableLocation设置为NO。显然,将其设置为YES会导致在iOS 6中运行的PhoneGap应用程序出现内存问题。已经实施了修复,但截至目前,我认为它不在官方的PhoneGap版本中。 FWIW,我找不到任何真正了解EnableLocation的人。