nativebridge-ios
此 Swift 模块是您的应用和 webview JavaScript 之间的 RPC 通信桥接的本地部分。它旨在与它的 JavaScript 对应部分,即 nrkno/nativebridge,一起工作。
要求
除了 nrkno/nativebridge 之外,nativebridge-ios 还依赖于 WKWebView 和脚本消息处理程序来运行。
安装
nativebridge-ios 可以通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile 中
pod 'nativebridge-ios'
示例
要运行示例项目,请克隆仓库,然后从 Example 目录中运行 pod install
。
用法
所有与javascript的通信都通过WebViewConnnection
类来管理。
通信遵循一个协议,javascript和您的代码之间相互发送消息。消息有一个主题和一些数据。数据必须实现Codable
协议。
建立javascript连接
必须通过添加一个脚本消息处理程序(WKScriptMessageHandler)来配置WKWebView实例,该处理程序将监听发送到'nativebridgeiOS'的消息。
有关如何操作的详细信息,请参阅示例项目。
发送数据
let data = SomeDataType()
webViewConnection.send(data: data, for: Topic.someTopic)
添加主题处理程序
为了让javascript发送的消息能产生反应,必须在WebViewConnnection
实例中添加处理程序。
webViewConnection.addHandler(for Topic.someTopic, {
(input: InputDataType, connection) in {
let message = "Received incoming: '\(input.inputMessage)'"
let output = OutputData(outputMessage: message)
connection.send(data: output, for: Topic.someTopic)
}
})
许可证
nativebridge-ios遵循MIT许可证。有关更多信息,请参阅LICENSE文件。