在前面的文章中介紹的了如何使用Cordova進行跨平臺應用的開發(fā)混驰,使用Cordova的話基本上就不需要在寫系統(tǒng)原生代碼了,只要通過編寫html頁面和js方法即可刻炒。
但在有些特殊情況下决采,還是是需要html頁面能和系統(tǒng)原生代碼(ios native code)進行交互。下面介紹如何實現(xiàn) JS 與 Swift 代碼間的相互通信坟奥。
假設我們已經(jīng)建立了一個名叫 HelloWorld 的Cordova工程項目(不太清楚如何使用Cordova的可以參考我前面寫的幾篇文章:使用Cordova開發(fā)iOS應用實戰(zhàn)1(配置树瞭、開發(fā)第一個應用))
1,樣例說明
(1)雖然使用Cordova創(chuàng)建的工程是一個 OC 工程爱谁,但由于蘋果可以很方便的支持混合編程晒喷,所以我們用 Swift 來實現(xiàn)與 JS 的交互也是可以的。
(2)這里我們使用Swift來做個口令驗證的功能访敌,由于只是演示凉敲,所以代碼很簡單。Swift這邊接收傳輸過來的口令字符串寺旺,判斷正確與否并反饋回頁面爷抓。如果驗證失敗還會返回具體的失敗原因信息。
2阻塑,樣例效果圖
Paste_Image.png
Paste_Image.png
Paste_Image.png
Paste_Image.png
3蓝撇,實現(xiàn)步驟
(1)我們在 Plugins 文件夾中新建一個Swift文件(HanggeSwiftPlugin.swift)。創(chuàng)建的時候系統(tǒng)會提示是否同時創(chuàng)建橋接頭文件陈莽,這里選擇確定渤昌。
(2)在新生成的橋接頭文件 HelloWorld-Bridging-Header.h 中把 Cordova/CDV.h 給 import 進來
#import <Cordova/CDV.h>
**(3)新建的 HanggeSwiftPlugin.swift 中添加如下代碼 **
Paste_Image.png
(4)在 config.xml 中添加如下配置,將我們創(chuàng)建的功能類給配置上
Paste_Image.png
(5)首頁 index.html 代碼如下走搁,修改運行后即可看到效果独柑。
Paste_Image.png
原文出自:
www.hangge.com
轉(zhuǎn)載請保留原文鏈接:
http://www.hangge.com/blog/cache/detail_1150.html