getCurrentPosition 在 iOS 6 上的 PhoneGap 1.3 中几乎总是失败
Posted
技术标签:
【中文标题】getCurrentPosition 在 iOS 6 上的 PhoneGap 1.3 中几乎总是失败【英文标题】:getCurrentPosition almost always failing in PhoneGap 1.3 on iOS 6 【发布时间】:2012-09-24 23:55:39 【问题描述】:我有一个现有的 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!!!
仅此而已。
有什么想法可以去哪里吗?
【问题讨论】:
iOS6 的地理定位 getCurrentPosition 可能存在问题。你试过 Apache Cordova 吗?它可以帮助你让它工作。 (参见类似主题:***.com/questions/10412239/…) 有很多已知的错误。你绝对应该更新到cordova 2.1 【参考方案1】:答案:将PhoneGap.plist中的EnableLocation设置为NO。显然,将其设置为 YES 会导致在 iOS 6 中运行的 PhoneGap 应用程序出现内存问题。已实施修复,但截至目前,我认为它不在 PhoneGap 官方版本中。 FWIW,我找不到真正知道 EnableLocation 做什么的人。
【讨论】:
以上是关于getCurrentPosition 在 iOS 6 上的 PhoneGap 1.3 中几乎总是失败的主要内容,如果未能解决你的问题,请参考以下文章
PhoneGap Build 6.3.0 geolocation getCurrentPosition 在IOS上慢
完美解决window.navigator.geolocation.getCurrentPosition,在IOS10系统中无法定位问题
IOS10 window.navigator.geolocation.getCurrentPosition 无法定位问题
Buildfire:buildfire.geo.getCurrentPosition 不适用于移动应用(android 和 ios)和 PWA