IBM Worklight 6.1 cordova地理定位和ios 8

时间:2014-10-01 13:06:53

标签: ios ibm-mobilefirst worklight-geolocation

根据ibm网站worklight混合应用程序可以运行ios 8.我使用worklight 6.1,我的应用程序确实运行ios 8但cordova地理位置失败。对于ios 7,应用程序运行没有任何问题。

我试图通过将Cordova / plugin文件夹中的CDVLocation.h,CDVLocation.m文件替换为根据此here我已找到post的更新文件来解决此问题。这并没有解决我的问题。我该如何解决这个问题?

修改  我得到这样的位置:

//get device longitude and latitude
navigator.geolocation.getCurrentPosition(onLocationSuccess, onLocationError, geolocationOptions);

在Android设备和ios7上,这工作正常,我可以检索位置。在ios 8上,getCurrentPosition函数永远不会返回onLocationSuccess。所以触发onLocationError函数总是提示用户在他的设备上启用位置服务或者发生了timeOut。

2 个答案:

答案 0 :(得分:3)

问题解决了!

首先安装IBM的ifix for worklight 6.1。

其次,将以下Key / Type / Values添加到xcode项目的info plist文件中:

NSLocationAlwaysUsageDescription String Permissions Message for App even when not in use

NSLocationWhenInUseUsageDescription String Permissions Message for App when in use

第三次下载:来自GitHub的CDVLocation.m文件,并通过替换代码来更新现有的CDVLocation.m文件。该文件位于CordovaLib / plugins。

在此之后,您应该在iOS 8中编译和访问地理位置服务。

//引用:

IBM

Blog post

答案 1 :(得分:2)

请参阅以下技术说明,了解Worklight 5.0.6,6.0,6.1和6.2中的iOS 8支持:http://www-01.ibm.com/support/docview.wss?uid=swg21684538

技术说明还列出了使用Xcode 6时iOS8中地理位置的已知且已解决的问题。

您使用的是Xcode 6吗?如果是,请转至IBM Fix Central并下载最新的可用于Worklight 6.1的iFix,以解决此问题。