文档章节

Cordova的安装及环境配置

大侠LKS
 大侠LKS
发布于 2017/04/26 17:37
字数 700
阅读 14
收藏 0
点赞 0
评论 0

1、Cordova说明:

Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头、麦克风等。 Cordova还提供了一组统一的JavaScript类库,以及为这些类库所用的设备相关的原生后台代码。 Cordova支持如下移动操作系统:iOS, Android,ubuntu phone os, Blackberry, Windows Phone, Palm WebOS, Bada 和 Symbian。

Cordova是贡献给Apache后的开源项目,是从PhoneGap中抽出的核心代码,是驱动PhoneGap的核心引擎。你可以把他想象成类似于Webkit和Google Chrome的关系

官方说明文档

官方常用命令文档

2、安装(终端)

$ sudo npm install -g cordova

安装之后使用 cordova help如果出现如下问题:

-bash: cordova: command not found 

执行如下操作即可:(解决该问题连接)

sudo chown -R $USER /usr/local
sudo chmod -R 0775 /usr/local
npm install -g cordova

3、创建iOS项目(终端)

$ cd ~/Desktop/
$ cordova create hello com.example.hello HelloWorld (Desktop路径下生成“hello”目录)
$ cd hello
$ cordova platform add ios (下载iOS相关资源)

Desktop/hello/platforms/ios/下打开HelloWorld.xcodeproj项目即可

4、创建cordova调用设备相册的iOS项目

3建立的项目基础上进行

cd ~/Desktop/hello
$ cordova plugin add org.apache.cordova.camera (下载cordova调用设备相册相关资源)
$ cordova plugin add org.apache.cordova.media-capture
$ cordova plugin add org.apache.cordova.media

$ cordova plugin add org.apache.cordova.file (下载cordova调用访问设备文件资源)
$ cordova plugin add org.apache.cordova.file-transfer

下一步来实现调用设备相册功能,可以加载本地的js、html文件来实现,也可以通过本身包含调用设备相册的动态网页来实现。先实现本地的js、html文件功能: 将下载后的index.html替换项目hello/platforms/ios/www/中的index.html,将下载后的phonegap.js加入项目工程中,在真机运行:

点击 Gapture Photo:

实现代码:在继承CDVViewControllerViewController中的ViewDidLoad

- (void)viewDidLoad {
    [super viewDidLoad];

    NSURLRequest *rq = [NSURLRequest requestWithURL:[NSURL URLWithString:@"dynamic_camera_url"]];
    [self.webView loadRequest:rq];
}

5、向已存在的iOS项目植入cordova

1、新建xcode项目,命名为CordovaDemo

2、进入hello/platforms/ios/

CordovaLib文件夹拖入到CordovaDemo中: 

再将www文件夹拖入到CordovaLib中:(Added folders选择为Create folder references) 

HelloWorld中的config.xmlPlugins(没有这个文件,不能拍照!)拖入到CordovaLib中: 

3、代码编写:

ViewController继承于CDVViewController: 

4、运行出现错误,添加<Foundation/Foundation.h>框架即可:

5、实现调用设备相册功能,参照  "创建cordova调用设备相册的iOS项目"

6、项目遇到的问题:

1、对cordova的项目archive时,提示“cordova/cdvplugin.h' file not found”失败

add $(OBJROOT)/UninstalledProducts/include to BuildSettings->Header Search Paths 解决该问题连接

以上就介绍了Cordova(PhoneGap)使用(iOS),包括了方面的内容,希望对IOS开发有兴趣的朋友有所帮助。

 

© 著作权归作者所有

共有 人打赏支持
大侠LKS
粉丝 3
博文 36
码字总数 6967
作品 0
大兴
程序员
新建cordova应用,插件开发教程系列(总目录)

以下几篇是连续的教程,代码也是连续的,包括如下章节: 新建cordova应用 https://my.oschina.net/u/1251858/blog/1799002 使用cordova把h5应用打包成apk https://my.oschina.net/u/1251858/...

canneljls ⋅ 04/21 ⋅ 0

使用cordova把h5应用打包成apk

由于h5应用开发不是本例重点,因此直接提供一个最简单的h5应用代码,此应用使用vue-cli框架开发 此h5应用叫vue1,用webstrom打开vue1,进行npm install安装引用 vue1代码可从百度网盘下载:链...

canneljls ⋅ 04/21 ⋅ 0

开发原生安卓cordova插件(基础)

cordova应用如果需要调用原生安卓接口,方法是使用cordova插件,cordova官方提供了主流原生功能的插件,但如果还不能满足需求,也可以自己开发cordova插件 以下介绍开发一个最简单的插件,功...

canneljls ⋅ 04/21 ⋅ 0

cordova打包问题,Execution failed for task ':processDebugResources'.

运行cordova run android 或者cordova build android都会有下面的错误与,请问这个怎么解决呢? --------------------------------------------------------------------------------------......

茗香墨语 ⋅ 05/30 ⋅ 0

cordova应用使用手机调试

对于cordova应用的调试,最方便调试方式还是作为h5应用在浏览器来调试,调试好了再打包cordova应用和打包apk。然而h5应用时的效果跟最终在安卓手机运行还有少数情况会不一样,因此,也需要有...

canneljls ⋅ 04/21 ⋅ 0

开发原生安卓cordova插件(有原生界面)

上文开发的插件没有调用原生界面,本文介绍开发带有activity的插件 本文很多操作与上文重复,重复部分会省略 首先打开plug1,先开发插件的原生代码 在以下命名空间创建一个activity 名称为A...

canneljls ⋅ 04/21 ⋅ 0

cordova 打包失败,publishNonDefault is deprecated

1、创建好了项目,也添加了平台 ,执行打包的时候就出现如下图,也不像报错,但就是不往下执行了。每次打包都是到这一步。cordova build android 或 cordova build android --release都是一样...

毛兴峰 ⋅ 06/09 ⋅ 0

cordova android build FAILED

下面的命令也许可以治好: 参考: https://cordova.apache.org/docs/en/latest/reference/cordova-cli/index.html#cordova-clean-command...

郭大鹏 ⋅ 04/16 ⋅ 0

Ionic3 + Angular Image Cropper

开始 安装插件与第三方库 Apache Cordova Camera plugin ng2-img-cropper node package 生成服务 先生成一个服务,稍后我们将使用它来处理与 的交互的服务。 配置 编辑文件 : 实现具体的服务...

与蟒唯舞 ⋅ 04/08 ⋅ 0

Cordova源码解析(二)- 自定义UserAgent

没有提供设置UserAgent的接口,但是有一个办法可以间接的设置。 通过设置中的值来修改,但是这种设置方法有一个限制,需要在的之前调用才能生效(加载PDF比较特殊)。这是Cordova源码中关于这个...

莫云溪 ⋅ 05/15 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Java Web如何操作Cookie的添加修改和删除

创建Cookie对象 Cookie cookie = new Cookie("id", "1"); 修改Cookie值 cookie.setValue("2"); 设置Cookie有效期和删除Cookie cookie.setMaxAge(24*60*60); // Cookie有效时间 co......

二营长意大利炮 ⋅ 今天 ⋅ 0

【每天一个JQuery特效】淡入淡出显示或隐藏窗口

我是JQuery新手爱好者,有时间就练练代码,防止手生,争取每天一个JQuery练习,在这个博客记录下学习的笔记。 本特效主要采用fadeIn()和fadeOut()方法显示淡入淡出的显示效果显示或隐藏元...

Rhymo-Wu ⋅ 今天 ⋅ 0

Spring JDBC使用方法

普通实现: 1、创建数据表customer。 可以使用任何数据库实现,在项目中要引入相应数据库驱动包并配置相应数据库连接。 2、创建Customer pojo。 Customer类的属性对应数据库的属性,除了为每...

霍淇滨 ⋅ 今天 ⋅ 0

Contos 7 安装Jenkins

Jenkins是一款能提高效率的软件,它能帮你把软件开发过程形成工作流,典型的工作流包括以下几个步骤 开发 提交 编译 测试 发布 有了Jenkins的帮助,在这5步中,除了第1步,后续的4步都是自动...

欧虞山 ⋅ 今天 ⋅ 0

revel

revel install go get github.com/revel/revelgo get github.com/revel/cmd create new app revel new git.oschina.net/zdglf/myapp run app revel run git.oschina.net/zdglf/myapp ot......

zdglf ⋅ 今天 ⋅ 0

49. Group Anagrams - LeetCode

Question 49. Group Anagrams Solution 思路:维护一个map,key是输入数组中的字符串(根据字符排好序) Java实现: public List<List<String>> groupAnagrams(String[] strs) { Map<Strin......

yysue ⋅ 今天 ⋅ 0

spring Email

使用spring发Email其实就是使用spring自己封装携带的一个javamail.JavaMailSenderImpl类而已。这个类可以当一个普通的java对象来使用,也可以通过把它配置变成spring Bean的方式然后注入使用...

BobwithB ⋅ 今天 ⋅ 0

spark 整理的一些知识

Spark 知识点 请描述spark RDD原理与特征? RDD全称是resilient distributed dataset(具有弹性的分布式数据集)。一个RDD仅仅是一个分布式的元素集合。在Spark中,所有工作都表示为创建新的...

tuoleisi77 ⋅ 今天 ⋅ 0

思考

时间一天天过感觉自己有在成长吗?最怕的是时光匆匆而过,自己没有收获!下面总结下最近自己的思考。 认识自己 认识另一个自己,人们常说要虚心听取别人意见和建议。然而人往往是很难做到的,...

hello_hp ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部