【发布时间】:2014-08-15 02:06:57
【问题描述】:
这更像是一篇信息性帖子:过去几天我一直在为最新的 iOS 8 Beta 上的非功能性地理定位应用程序苦苦挣扎。
起初我不确定它是否与 iOS 8 隔离,或者是否是设备与模拟器的问题,但在重新下载 XCode 6 Beta 2 后(我的第一次下载由于某种原因模拟器损坏) ,我确认确实,iOS 8 Beta 2 模拟器似乎不喜欢我尝试获取地理位置。
起初通话似乎根本不起作用;然后我从包含phonegap.js更改为包含cordova.js,终于取得了一些进展。文档在这方面很糟糕,因为官方文档中的以下指南似乎让人相信它们是可以互换的。我建议有问题的人先检查一下。
它不会像预期的那样运行navigator.geolocation.getCurrentPosition(....) 回调函数,而是挂起并且根本不做任何事情。有时离开页面并返回它会强制错误回调,但它非常不一致。设置{ timeout: 5000 } 选项后,似乎每次通话都会超时。控制台没有错误,XCode 没有错误,什么都没有。如果我没有在 X 秒后显式超时,那么成功函数就不会运行,周期,错误回调也不会。这是一个与 iOS 8 Beta 隔离的错误,所以大多数人(还)都没有担心,但我觉得我应该发布这个以防有人遇到它。我也会在 Apple Dev Center 上发帖。
【问题讨论】:
-
我遇到了同样的问题。我的错误函数设置为通过 IP 地址检索位置,因此使用超时仍然 sorta 有效。然而,希望这个固定。您应该提交错误报告。
标签: javascript ios cordova geolocation ios8