Cordova - 使用Cordova开发iOS应用实战1(配置、开发第一个应用)

现在比较流行使用 html5 开发移动应用,毕竟只要写一套html页面就可以适配各种移动设备,大大节省了跨平台应用的开发时间。而不像以前一样 Android 要写一套程序,iOS 要写一套,甚至 Windows Phone 还要再写一套程序。

虽然使用H5开发的界面很容易适配各种手机设备,但由于系统的差异,如果要访问原生的设备功能(如摄像头、麦克风等)还是有些不便,或者说不是那么统一。这时我们可以借助 Cordova 来开发H5跨平台应用。

一,Cordova介绍
(1)Cordova 前身是 PhoneGap,Adobe将PhoneGap贡献给Apache后成为开源项目就改名成Cordova。
(2)Cordova提供了一组设备相关的API,通过这组API,移动应用能够以 JavaScript 访问原生的设备功能,如摄像头、麦克风等。
(3)Cordova还提供了一组统一的 JavaScript 类库,以及为这些类库所用的设备相关的原生后台代码。
(4)Cordova支持如下移动操作系统:iOS, Android,ubuntu phone os, Blackberry, Windows Phone, Palm WebOS, Bada 和 Symbian。

二,环境搭建

1,安装Node.js :
主要是需要用来下载和安装Cordova

下载地址:https://nodejs.org
将下载下来的pkg文件运行安装即可。

在终端运行 npm -v,如果出现版本号则说明 Node.js 安装成功

2,安装Cordova CLI
运行如下命令安装:

1
sudo npm install -g cordova

以后如果要更新Cordova,运行如下命令:

1
sudo npm update cordova -g

cordova更新完成后,还需要更新项目(比如更新ios项目):

1
cordova platform update ios

3,测试下Cordova是否安装成功
运行如下命令:

1
cordova -v

显示版本号则证明安装成功。



三,创建一个简单的Cordova项目

1,在终端中运行cd命令进入创建项目工程的目录位置

比如我们想把工程创建在用户文稿目录下:

1
cd ~/Documents

2,运行如下命令创建工程项目

1
cordova create hello com.example.hello HelloWorld
参数说明:
第一个参数 hello 为工程的文件夹名;
第二个参数(可选)com.example.hello 为应用程序的id名,与Xcode中类似,可以在 config.xml 中修改,如果不指定的话默认为 io.cordova.hellocordova;
第三个参数(可选)HelloWorld 为App显示的名称,也可在 config.xml 中修改。

3,创建成功后工程目录如下:

目录文件说明:

conig.xml :cordova的配置文件

hooks/ :存放自定义cordova命令的脚本文件。

platforms/ :各个平台原生工程代码,会在build时被覆盖勿修改

plugins/ :插件目录(主要是提供各个平台的原生API)

www/ :用H5编写的源代码目录,build时会被放入各个平台的assets\www目录。

www/index.html :App入口html文件

4,添加iOS平台支持
(1)进入工程目录

1
cd hello

(2)添加iOS平台文件

1
cordova platform add ios

(3)执行完毕后可以看到在platforms文件夹下已经创建了个iOS工程

四,工程的编译、运行
直接打开 HelloWorld.xcodeproj 工程即可在Xcode中进行编译和运行

1,目录结构如下

2,目录结构说明
可以看到  Staging 文件夹下面有个 www 文件夹和一个 config.xml 文件(蓝框标注的)。
而在 Staging 文件夹外也有个 www 文件夹和一个 config.xml 文件(红框标注的)。
后面我们进行开发的时候通常有如下两种方案:
(1)如果在Xcode编译运行的话,使用的是 Staging 下面的html页面。所以我们可以把外面的www文件夹和config.xml从工程中移除(上图红框标注的),只编辑使用Staging文件夹下的html文件,但不建议这么做。

因为每次Cordova编译的时候,或者更新工程、安装插件时都会重新把红框里的文件覆盖到各个平台下的文件(蓝框标注的)。同时只编辑单个平台工程文件夹下的html页面,也不符合一次编写,同时编译发布多平台的跨平台应用开发思想。

(2)所以一般我都是编辑外面的(红框标注)www文件夹里的页面,然后运行如下命令重新 build 工程,这些页面就会自动覆盖到各个平台下对应目录下。
1
cordova build
3,运行结果如下

原文出自:www.hangge.com  转载请保留原文链接:http://www.hangge.com/blog/cache/detail_1145.html

Cordova - 使用Cordova开发iOS应用实战1(配置、开发第一个应用)的更多相关文章

  1. Cordova - 使用Cordova开发iOS应用实战3(添加Cordova控制台插件)

    Cordova - 使用Cordova开发iOS应用实战3(添加Cordova控制台插件) 前文介绍了通过 Safari 的 Web检查器,可以看到控制台输出的信息.但有时这样调试代码不太方便,如果在 ...

  2. Cordova - 使用Cordova开发iOS应用实战2(生命周期、使用Safari调试)

    Cordova - 使用Cordova开发iOS应用实战2(生命周期.使用Safari调试) 前文我们创建了一个简单的Cordova项目,结构如下: 1,Cordova生命周期事件 (1)device ...

  3. Python开发入门与实战20-微信开发配置

    随着移动互联网时代的来临,微信已经成为移动互联网移动端的主要入口,现在很多的大型企业都有自己的微信服务号,如:银行业有自己的微银行,基金公司的公众服务号.通过微信入口可以方便快速的实现企业提供的服务. ...

  4. Cordova - 使用Cordova开发iOS应用实战5(获取手机里照片,并编辑)

    使用Cordova可以很方便的通过js代码读取系统相簿里面的照片,同使用设备摄像头拍照一样,同样需要先添加camera插件. 一,添加camera插件 首先我们要在“终端”中进入工程所在的目录,然后运 ...

  5. Cordova - 使用Cordova开发iOS应用实战4(调用摄像头拍照,并编辑)

    使用Cordova可以很方便的通过js代码来使用设备摄像头拍照,只需把camera插件添加进来即可. 一,添加camera插件 首先我们要在“终端”中进入工程所在的目录,然后运行如下命令: 1 cor ...

  6. Swift开发iOS项目实战视频教程(一)---iOS真简单

    本课主要介绍iOS项目的创建.第一个iOS项目的开发.UILabel.UIButton的使用. 假设你看完此视频还认为iOS非常难,请你来找我! 本教程摒弃枯燥的语法和知识解说,全是有趣有料的项目实战 ...

  7. Swift开发iOS项目实战视频教程(二)---图片与动画

    本课主要介绍UIImageview.NSTimer的使用.并介绍了一种动画实现方式. 本教程摒弃枯燥的语法和知识解说.全是有趣有料的项目实战! 视频优酷链接:v.youku.com/v_show/id ...

  8. gin框架博客实战教程2019web页面开发go语言实战博客开发

    视频教程: https://www.bilibili.com/video/av73698322?t=2400&p=5 资料下载地址(含数据库和main.go和controller里的代码) 注 ...

  9. Cordova or Xamarin 用.net开发IOS和Android程序

    Visual Studio 2015 和 Apache Cordova 在开始前,问一下自己下面这些问题: 熟练掌握web技术的开发者比例是多少?(占所有开发者的比例) 熟练掌握移动开发技术(并且使用 ...

随机推荐

  1. symfony2 路由工作原理及配置

    1.路由是程序的方法和URL的一一映射.

  2. git入门学习(二):新建分支/上传代码/删除分支

    一.git新建分支,上传代码到新的不同分支  我要实现的效果,即是多个内容的平行分支:这样做的主要目的是方便统一管理属于同一个内容的不同的项目,互不干扰.如图所示: 前提是我的github上已经有we ...

  3. Visual Studio 开发平台的安装与单元测试

    一.安装VS2013 1.运行安装文件夹中的.exe文件,选择好安装路径与所需功能后开始安装 2.安装后第一次打开,需要一段时间 3.安装成功后,要打开VS2013,在工具栏中找到帮助选项卡,点击注册 ...

  4. Windows下好用到必须开机自启的小工具

    折腾过linux,黑苹果,最后还是回到了盖茨大叔的windows.得出的结论是,日常使用的话,折腾Linux还不如把精力去拿去折腾windows.分享下折腾的成果,介绍下一些很不错的小工具.     ...

  5. webconfig 文件加密处理

    前几日正好遇到配置文件加密解密的问题,简单记录下流程. 1.首先运行cmd然后打开Framework.cd C:\Windows\Microsoft.NET\Framework\v4.0.303192 ...

  6. 优化SqlServer--数据压缩

    数据压缩是对存储和性能优势的加强.减少数据库占用的磁盘空间量将减少整体数据文件存储空间,在一下几个方面增加吞吐量: 1.更好的I/O利用率,每个页面可以读写更多的数据. 2.更好的内存利用率,缓冲区可 ...

  7. Linux IPC tcp/ip socket 编程

    模型 #include <unistd.h> #include <sys/types.h> #include <sys/socket.h> #include < ...

  8. LaTeX字体相关

    以下内容均来自网络.   字体命令: 相应的字体声明都有相应的字体命令 family: \textrm{文本} \texttt{ } \textsf{  } shape : \textup{文本} \ ...

  9. MMORPG大型游戏设计与开发(客户端架构 part12 of vegine)

    在游戏中的交互过程中输入是一个必不可少的过程,比如登陆的时候需要用户输入用户名与密码,就算是单机游戏很多时候也要求用户输入一个用户名作为存档的依据.网络游戏中没有了输入,只用鼠标来交互是不切实际的,因 ...

  10. DPM检测模型 训练自己的数据集 读取接口修改

    (转载请注明作者和出处 楼燚(yì)航的blog :http://www.cnblogs.com/louyihang-loves-baiyan/ 未经允许请勿用于商业用途) 本文主要是针对上一篇基于D ...