首页 > 代码库 > cordova开发跨平台应用问题随笔记

cordova开发跨平台应用问题随笔记

iOS下频繁请求地理位置授权

做的某个cordova应用有用到geolocation插件,跑在iOS的时候发现app请求了一次授权,结果webkit还请求了一次授权,不但如此,webkit请求的格式还相当丑/var/mobile/Applications/157EB70D-4AA7-826E-690F0CBE0F/appname.app/www/index.html,放狗一搜,果然很多人在聊这个问题,解决方法众说纷纭,主要cordova本身发展较快变化较大,不能说每个解决都是有效的,但也不能说是错的,结果不带版本号的解决方案变成耍流氓了。时至今日(4.0.0),我的解决如下:
确保在onDeviceReady后才使用navigator.geolocation,顺利通过。

在xcode中报找不到插件的异常

报错一般如下:

ERROR: Plugin ‘Geolocation’ not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.

我们需要自行把插件对应的.m文件在项目配置文件中添加:

In XCode, goto Build Phases -> open the Compiled Sources dropdown. Click + and add the missing plugin .m file that should be in your Plugins directory (but is missing from the compiled sources).

就是在Build Phases / Compile Sources里面添加未包含进去的插件文件即可。奇怪的是,之前从没这么做过,插件都能正常使用。。。

ios模拟器报错

这不算问题,保持cordova, ios-sim都为最新版。记录下来是为了强调这一原则。keep update

cordova开发跨平台应用问题随笔记