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