前言
现在做项目为了节约成功,适配多平台 cordova不为是一个很好的选择。个人觉得以后也许是一个趋势!像一些知名的APP 比如支付宝 淘宝 好多都大量集成了HTML5 页面!像我们公司现在的APP 大多都是h5页面 感觉原生都没什么事情做了。可想而知学习cordova的重要性!
简介
Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头、麦克风等。Cordova还提供了一组统一的JavaScript类库,以及为这些类库所用的设备相关的原生后台代码。Cordova支持如下移动操作系统:iOS,Android,ubuntu phone os,Blackberry,Windows Phone,Palm WebOS,Bada 和 Symbian。
入门第一步:下载资源库并集成到项目中来
去下载cordova 库的源码 可以去github上下载 也可以去官网下载。其实官网上的代码也是放到github上的!
使用 CocoaPods进行第三方库的管理 我之前用的是cordova3.8.0 前几天不久更新到了4.0.1 。 4.0.1 只支持8.0以上 以下的你用CocoaPods 更新会提示错误!注意一下就可以了!
platform :ios,'8.0'
pod 'Cordova','~> 4.0.1'
入门第二步:如何在项目中正确的集成 cordova4.0.1 库
1. 配置 Config.xml 很重要
Config.xml is a global configuration file that controls many aspects of a cordova application's behavior. This platform-agnostic XML file is arranged based on the specification,and extended to specify core Cordova API features,plugins,and platform-specific settings.For projects created with the Cordova CLI (described in ),this file can be found in the top-level directory:
大致意思就是: config.xml 是一个全局配置文件,控制一个cordova应用行为的许多方面。这种平台无关的XML文件是基于w3c'spackaged Web应用程序设置(widgets)规范,并扩展到指定核心cordovaAPI功能,插件和平台的具体设置。与科尔多瓦CLI创建的项目(描述在命令行界面)
2. 显示html5页面需要一个容器 在这里使用CDVViewController类 进行html5的显示以及控制 当然也可以自定义一个容器继承CDVViewController类做一些定制功能。
如何使用如下:
[self.navigationControllerpushViewController:self.cordovaManageVCanimated:YES];
3. 设置用户代理
if(self!=nil) {
//设置用户代理 如不设置无法调用与H5定制的JavaScript方法进行交互
NSString* original = [CDVUserAgentUtiloriginalUserAgent];
NSString* userAgent = [originalstringByAppendingString:@"delegateUserName"];
self.baseUserAgent= userAgent;
}
returnself;
}
4. 自定义插件 需要使用到 cordova的CDVPlugin类 用子类来集成CDVPlugin
*@param command
*/
- (void)back:(CDVInvokedUrlCommand*)command;
定制完成之后需要在confing.xml 进行配置
以上就是cordova 最基本的用法了;
使用 Cordova 遇到的一些问题
问题一
问题
解决办法
问题二
问题
解决办法
从 nofollow" target="_blank" href="https://services.gradle.org/distributions/">https://services.gradle.org/distributions/ 下载最新gradle包并安装。
问题三
问题
使用 “cordova build android” 打包的时候报错:Error: Could not find gradle wrapper within Android SDK.
解决办法
查看了一下 /home/kongxx/Android/Sdk/tools/templates/gradle/wrapper 目录,目录确实不存在,于是检查了一下 android-studio 环境,发现可以在 plugins/android/lib/templates 目录下包括上面的内容,于是,果断copy之。
问题四
问题
使用Cordova打包时报错:Error: spawn EACCES
解决办法
问题五
问题
在 cordova 中使用浏览器测试的时候,默认启动的是 google-chrome 浏览器,比如:
解决办法
可以使用 –target 来指定想使用的浏览器。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对编程之家的支持。
原文链接:https://www.f2er.com/js/35218.html