我們知道,在UIKit中的UIWebView雖然已經(jīng)提供了很多功能了,比如JavaScript和Objc之間的通信。但是考慮到一個問題,如果在Hybrid App中,如何才能實現(xiàn)JavaScript調(diào)用本地的一些硬件設(shè)備起愈,如攝像頭、音頻译仗、還有本地存儲呢抬虽?首先想到的就是規(guī)定一些協(xié)議,在UIWebViewDelegate 中去接收JavaScript發(fā)來的消息并且由Objc代碼去控制本地的數(shù)據(jù)庫訪問纵菌,控制攝像頭和音頻等等阐污。但是諸如如何在WebView上顯示本地攝像頭視頻,實現(xiàn)起來還是比較困難的咱圆。那么問題來了笛辟,如何實現(xiàn)這些協(xié)議,并且有廣泛的適用性序苏,讓廣大的開發(fā)者去使用這一套框架手幢?
下面主要介紹一個開源的框架: Cordova,它的前身是PhoneGap忱详,被Apache收購之后就改成Cordova了.
1围来、安裝cordova需要先安裝node.js;
注:一般選擇之前畢竟穩(wěn)定的版本,新版我安裝的時候出現(xiàn)安裝失敗等問題
2、如果你沒有安裝git client匈睁,需要下載并安裝一個git客戶端监透。
3、使用node.js的依賴包管理工具npm進行Cordova的安裝
打開終端輸入如下命令進行安裝:
$ sudo npm install -g cordova
注:$ 不可復制,此處是為了提示后面的代碼是終端命令
卸載的方式為
$ sudo npm uninstall cordova -g
4航唆、新建一個Cordova的項目
$ cd Desktop/ //進入桌面
$ cordova create Demo qianghui Tianxia //第一個參數(shù)為文件夾名, 第二個參數(shù)為App id, 第三個參數(shù)為project名
創(chuàng)建完成提示: Creating a new cordova project.
注:以上為創(chuàng)建好的文件夾內(nèi)部目錄
hooks:存放自定義cordova命令的腳本文件胀蛮。每個project命令都可以定義before和after的Hook,比如:before_build糯钙、after_build粪狼。沒用過退腥,不展開了。
platforms:平臺目錄再榄,各自的平臺代碼就放在這里阅虫,可以放一下平臺專屬的代碼,現(xiàn)在這個目錄應(yīng)該是空的.
plugins:插件目錄不跟,安裝的插件會放在這里。
www:最重要的目錄米碰,存放項目主題的HTML5和JS代碼的目錄窝革。app一開始打開的就是這個目錄中index.html文件。
config.xml:主要是cordova的一些配置吕座,比如:項目使用了哪些插件虐译、應(yīng)用圖標icon和啟動頁面SplashScreen,修改app的版本吴趴,名字等信息漆诽,還有平臺的配置。
5锣枝、建立完成之后我們可以加入iOS項目
$ cd Demo/ //進入剛剛創(chuàng)建好的文件夾目錄下
$ cordova platform add ios //添加平臺支持
//各個平臺
$ cordova platform add ios
$ cordova platform add amazon-fireos
$ cordova platform add android
$ cordova platform add blackberry10
$ cordova platform add firefoxos
$ cordova platform add wp8
$ cordova platform add windows8
$ cordova platform add amazon-fireos
$ cordova platform add android
$ cordova platform add blackberry10
$ cordova platform add firefoxos
6厢拭、構(gòu)造App ,build iOS項目
cordova build
7、運行效果
創(chuàng)建的時候遇到多個問題,所以進行多方參考
參考來自:
1.http://www.reibang.com/p/53256ece38a7 使用Cordova進行iOS開發(fā)
2.http://www.cnblogs.com/piaoqingsong/p/5205186.html 在已有 Xcode 項目中 加入Cordova框架
3.http://www.tuicool.com/articles/NbMNbm