iOS使用Objective-c自定義cordova插件(-)

本系列教程為博主初次使用開發(fā),內(nèi)容如有差錯,歡迎指正,敬請諒解。?

博客地址:http://blog.img421.com/iosshi-yong-object-czi-ding-yi-cordovacha-jian/

? ?Mac安裝ionic和cordova我們已經(jīng)熟悉,現(xiàn)在使用`ionic`來創(chuàng)建`HTML5`使用`iOS原生框架`等內(nèi)容的插件扭吁。??

? 說明:圖中的cordova 請自動切換為ionic使用

1.? 創(chuàng)建項目

打開終端,切換到桌面,然后使用`ionic`創(chuàng)建一個測試項目,命名CountTest.

cd ./Desktop/

sudo ionic start CountDemo ? ?

?或? ?

?? //使用cordova ,但是后期cordova不知道怎么引導(dǎo)ionic中,如果你知道請留言告訴我,感謝谆奥! ? ? ?? sudo cordova create CountDemo com.twenty.CountDemo CountDemo

1: 項目創(chuàng)建到桌面的目錄名,

2: iOS Bundle Identifier的名稱,

3: 項目名若舍去2,3步驟,iOS Bundle ID會自行創(chuàng)建,3中項目名為默認1中的目錄名周叮。

我們創(chuàng)建的項目沒有可寫權(quán)限只有可讀權(quán)限,因為修改CountTest權(quán)限為可讀可寫可執(zhí)行。

由此可以修改CountTest文件及子文件。

2.? 編譯iOS項目工程

通過使用`ionic`編譯出`iOS項目結(jié)構(gòu)`的目錄平臺。命令如下:

//添加iOS項目的平臺

sudo ionic platform add ios? ??

或 sudo? cordova platform add ios?

下圖輸出則添加成功


等待幾分鐘

//編譯iOS項目

sudo ionic build ios ??

或? sudo cordova build ios


如上圖`** BUILD SUCCEEDED **`成功以后,可以看到文件中`platform`添加一個iOS平臺文件夾申钩。

使用蘋果官方開發(fā)工具`Xcode`打開,如果沒有權(quán)限使用命令修改權(quán)限:


sudo chmod -R 777 .

`. 代表當前文件夾` ,

打開后結(jié)構(gòu)如下

我們自定義的插件都在`Plugins`文件夾下.

3. 插件開發(fā)

創(chuàng)建一個`CountAdd`對象,繼承`CDVPlugin`對象.

ps:`CDVPlugin`即為cordova庫的連接對象。

`Command + B` 編譯Xcode,程序報錯`'Cordova/Cordova.h' file not found`

通過查看`CordovaLib`庫文件內(nèi)容,此庫內(nèi)容中頭文件`CDV.h`包涵全部的類頭文件,因此修改如下:

再次編譯成功.

CountAdd.h文件中,聲明一個方法:計算大小.`CDVInvokedUrlCommand *`對象為調(diào)用URL命令的時候自動傳遞的參數(shù)瘪阁。在`CountAdd.m`中實現(xiàn)此方法撒遣。


`CountAdd.m`中,我們添加如下代碼:

1: 獲取到調(diào)用的命令的唯一ID;

2:得到傳過來的數(shù)組的第一個索引值;(后續(xù)詳細解釋)

3:給得到的數(shù)+1;

5:通過判斷給插件的結(jié)果設(shè)置狀態(tài),成功狀態(tài) message 所傳遞的值, 失敗狀態(tài) message 所傳遞的值;

6:通過調(diào)用代理發(fā)送插件的結(jié)果給對應(yīng)的ID

4. 配置

通過使用WebStorm來打開所創(chuàng)建的`CountDemo`項目,在項目中的`Plugins`文件夾中我們創(chuàng)建一個自己的插件目錄`com.twenty.CountTest`,結(jié)構(gòu)如下:


ios:存放Xcode剛才所創(chuàng)建的CountAdd類,

www: 存放調(diào)用的和CountAdd 所調(diào)用的js文件

plugin.xml :配置iOS 和 cordova 的內(nèi)容.拷貝`OC的類`到`ios文件夾`目錄下,`www`目錄下創(chuàng)建一個與`oc類名一樣`的js文件


`plugin.xml`文件內(nèi)容如下圖:


方框內(nèi)的name要一致,名字隨意;

圓形內(nèi)的值要與OC中繼承CDVPlugin類的類名一致;

橫線部分名稱要與js名稱一致 ? ?

接下一章

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市管跺,隨后出現(xiàn)的幾起案子义黎,更是在濱河造成了極大的恐慌,老刑警劉巖豁跑,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件廉涕,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機狐蜕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門宠纯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人层释,你說我怎么就攤上這事婆瓜。” “怎么了贡羔?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵廉白,是天一觀的道長。 經(jīng)常有香客問我乖寒,道長猴蹂,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任宵统,我火速辦了婚禮晕讲,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘马澈。我一直安慰自己瓢省,他們只是感情好,可當我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布痊班。 她就那樣靜靜地躺著勤婚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪涤伐。 梳的紋絲不亂的頭發(fā)上馒胆,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天,我揣著相機與錄音凝果,去河邊找鬼祝迂。 笑死,一個胖子當著我的面吹牛器净,可吹牛的內(nèi)容都是我干的型雳。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼山害,長吁一口氣:“原來是場噩夢啊……” “哼纠俭!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起浪慌,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤冤荆,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后权纤,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體钓简,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡乌妒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了涌庭。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片芥被。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖坐榆,靈堂內(nèi)的尸體忽然破棺而出拴魄,到底是詐尸還是另有隱情,我是刑警寧澤席镀,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布匹中,位于F島的核電站,受9級特大地震影響豪诲,放射性物質(zhì)發(fā)生泄漏顶捷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一屎篱、第九天 我趴在偏房一處隱蔽的房頂上張望服赎。 院中可真熱鬧,春花似錦交播、人聲如沸重虑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽缺厉。三九已至,卻和暖如春隧土,著一層夾襖步出監(jiān)牢的瞬間提针,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工曹傀, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留辐脖,地道東北人。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓皆愉,卻偏偏與公主長得像揖曾,于是被迫代替她去往敵國和親亥啦。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容