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