昨天,我们为我们的应用程序试用了开发者预览版 iOS 8 beta 5 和 Xcode 6 Beta 5。 我们在混合应用程序的 webview 组件中使用位置服务。
我发现通过 UIWebView 进行地理定位不再有效。 我用一个从头开始加载的例子验证了这种行为 example用于从 w3schools.com 到 UIWebView 的地理定位。
在 iOS 7(Base SDK 7.1,使用 XCode 5 构建)中,会提示接受定位服务的通知,之后,该应用程序会显示在 iPhone 设置中的隐私--> 定位服务下。 使用 iOS 8(Base SDK 8,使用 XCode 6 构建)不会出现提示,并且 webview 位置服务不工作,也不会在设置中输入任何内容。
我知道,在 iOS 8 中,用户隐私设置发生了一些变化,尤其是在后台处理定位服务,但我没想到它会破坏我们使用导航器的 webview-location 逻辑。 geolocation.getCurrentPosition(showPosition) javascript 函数。
无论如何,我仍然不清楚这是 iOS 8 beta 中的错误还是某些 API 更改的结果,如果是,采用什么方法才是正确的。
提前致谢
最佳答案
我在 ios 8.3 上遇到了同样的问题。
我通过在 Custom iOS Target Properties 中添加 NSLocationWhenInUseUsageDescription 解决了这个问题。 正是这个网站帮助了我:http://www.touch-code-magazine.com/working-easily-location-ios8-swift-oneshotlocationmanager/
关于ios - iOS8 beta 5 上的 UIWebView 中的定位服务无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25176750/