iOS版Cordova安裝開(kāi)發(fā)

之前有個(gè)做ffmpeg的大神。由于公司開(kāi)發(fā)app的過(guò)程中需要有音視頻播放(后期會(huì)有直播)這一塊,老總是一位5,60歲的超級(jí)大佬,不用網(wǎng)上的第三方云服務(wù)(百度云,七牛云...)播放音視頻.無(wú)奈自己去研究ffmpeg這一塊。由于在ffmpeg這一塊”略懂“,在群里就碰到上面說(shuō)的ffmpeg大神。推薦我先了解下Cordova插件,后期自己自定義插件。然后我就有幸接觸這一塊。本著多學(xué)一些技多不壓身的態(tài)度去看看學(xué)學(xué)。

Cordova:

在介紹Cordova之前,必須先提一下PhoneGap。PhoneGap 是Nitobi軟件公司2008年推出的一個(gè)框架,旨在彌補(bǔ)web 和iOS 之間的不足,使得web 和 iPhone SDK 之間的交互更容易。后來(lái)又加入了Android SDK 和BlackBerry SDK,再然后又陸續(xù)加入了更多的平臺(tái)。但是在2011年,Nitobi公司被Adobe收購(gòu),PhoneGap也被提交到Apache Incubator。由于Adobe現(xiàn)在擁有PhoneGap商標(biāo),PhoneGap v2.0版產(chǎn)品就更名為Apache Cordova。據(jù)說(shuō)Cordova是Nitobi團(tuán)隊(duì)當(dāng)時(shí)坐落的街道名稱,用此名來(lái)紀(jì)念Nitobi團(tuán)隊(duì)的貢獻(xiàn)。Apache Cordova是從PhoneGap中抽出的核心代碼,是驅(qū)動(dòng)PhoneGap的核心引擎。

提供了一組設(shè)備相關(guān)的API,通過(guò)這組API,移動(dòng)應(yīng)用能夠以JavaScript訪問(wèn)原生的設(shè)備功能,如攝像頭、麥克風(fēng)等。Cordova還提供了一組統(tǒng)一的JavaScript類庫(kù),以及為這些類庫(kù)所用的設(shè)備相關(guān)的原生后臺(tái)代碼。Cordova支持如下移動(dòng)操作系統(tǒng):iOS, Android,ubuntu phone os, Blackberry, Windows Phone, Palm WebOS, Bada 和 Symbian。

什么是Cordova插件?

插件就是一些附加代碼用來(lái)提供原生組件的JavaScript接口,他允許你的App可以使用原生設(shè)備的能力,超越了純粹的Web App。

Cordova工程結(jié)構(gòu)

從下面這幅圖可以看出Cordova工程的結(jié)構(gòu),以及與Native API 之間的關(guān)系。

由上圖可以看出,其實(shí)Cordova的使用分為上面幾個(gè)框架結(jié)構(gòu),在Native與web之間交互。

Cordova的安裝

安裝cordova命令行工具,貼出官網(wǎng)的步驟:(可以去官網(wǎng)看看)

$ npm install -g cordova

$ cordova create MyApp

$ cd MyApp

$ cordova platform add ios

$ cordova run ios

官網(wǎng)就是官網(wǎng)的,對(duì)于小白來(lái)說(shuō)還是看不懂。

下面貼出自己的實(shí)踐過(guò)程:

1.下載Node.js

我下載的是最新版本8.1.0

Mac 電腦,下載后雙擊,一直next

下載后在終端:sudo npm install -g cordova

sudo npm install -g cordova
sudo npm install -g cordova

2.sudo cordova create myDemo com.ztt.myDemo.hello HelloWorld

(下面的2個(gè)圖片是沒(méi)有加sudo權(quán)限的cordova create myDemo com.ztt.myDemo.hello HelloWorld,直接提示我

localhost:~ hqtech$ cordova/usr/local/lib/node_modules/cordova/node_modules/configstore/index.js:53?

throw err;

^

Error: EACCES: permission denied, open'/Users/hqtech/.config/configstore/update-notifier-cordova.json'

You don't have access to this file.

不能訪問(wèn)這個(gè)文件,因?yàn)闆](méi)權(quán)限,解決的辦法:

A.直接在每個(gè)命令前+sudo

B.切換到su權(quán)限下,以后的命令就不要+sudo了

A.直接在每個(gè)命令前+sudo

sudo cordova create myDemo com.ztt.mydemo.hello HelloWorld

B.切換到su權(quán)限下,以后的命令就不要+sudo了

sudo passwd root 作者更傾向于第一種方法,看的直觀

3.cd myDemo

cd myDemo

4.cordova platform add ios(此處的ios都是小寫的)

cordova platform add iOS

5.sudo cordova build

sudo cordova build

到這里cordova的創(chuàng)建算是告一段落

打開(kāi)工程

cordova安裝的坑(勿踩)

1.The file “HelloWorld.xcworkspace” could not be unlocked.

選中工程文件夾點(diǎn)右鍵,在 “顯示簡(jiǎn)介"——>"共享與權(quán)限"——>"-+"號(hào)。 添加本用戶(就是你登錄的那個(gè)賬號(hào)),授予讀寫權(quán)限,并點(diǎn)擊下方的設(shè)置符號(hào)選擇"應(yīng)用到包含的項(xiàng)目",操作如下圖:

2.Error: Path already exists and is not empty: /Users/zhaotong/Desktop/cordova/Demo

原因是在cordova的目錄下已經(jīng)存在一個(gè)名為Demo 的文件夾

3.Error:Unexpeced token H in JSON at position 0

Error:Unexpeced token H in JSON at position 0

解決:創(chuàng)建的命令檢查下

對(duì)的:sudo cordova create myDemo com zit.mydemo.hello HelloWorld

輸入密碼時(shí):是英文的輸入法(犯了低級(jí)?)

4.就是權(quán)限問(wèn)題,每次命令時(shí)我的都要+sudo

配置后的demo工程地址:https://github.com/mrzhao12/cordovaDemo

總的來(lái)說(shuō)cordova的第一次接觸坑還是很多了,至于以后的cordova自定義插件,還是慢慢學(xué)吧,阿彌陀佛

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容