JustBridge
WKWebView 中发送 Swift 和 JavaScript 之间消息的 iOS 桥梁
屏幕截图
CocoaPods
use_frameworks!
pod 'JustBridge', '~> 4.2.0'
使用
JustBridge 易于使用。只需初始化一个桥梁然后注册处理器或调用处理器。
- 导入 JustBridge 并声明一个 ivar 属性
import JustBridge
...
var bridge: JustBridge!
- 使用 WKWebView 实例化 JustBridge
bridge = JustBridge(with: webView)
-
在 Swift 中注册处理器,并调用 JavaScript 处理器
-
错误信息可以是
HandlerNotExistError
或DataIsInvalidError
,errorMessage
类型为 String -
callback
和errorCallback
可以是 nil
-
bridge.register("swiftHandler") { (data, callback) in
print("[js call swift] - data: \(data ?? "nil")\n")
callback("[response from swift] - response data: I'm swift response data")
}
bridge.call("jsHandler", data: data, callback: { responseData in
print(responseData ?? "have no response data")
}, errorCallback: { errorMessage in
print(errorMessage)
})
- 在 JavaScript 中注册处理器,并调用 Swift 处理器
- 错误信息只能是
HandlerNotExistError
,错误信息类型为 String callback
和errorCallback
可以是 null
- 错误信息只能是
window.bridge.register("jsHandler", function(data, callback) {
console.log("[swift call js] - data: " + JSON.stringify(data));
callback("[response from js] - response data: I'm js response data");
});
window.bridge.call("swiftHandler", "hello world from js", function(responseData) {
console.log(responseData.toString())
}, function(errorMessage) {
console.log("error: " + errorMessage)
});
示例
您可以通过克隆或下载此项目来获取更多详细信息。