SZWebViewBridge 1.0.2

SZWebViewBridge 1.0.2

Eros Cai 维护。



  • eroscai

SZWebViewBridge

CI Status Version License Platform

SZWebViewBridge 是一个轻量级的纯 Swift 库,用于在 WKWebView 和 Web 客户端之间发送消息的桥梁。它基于消息处理程序。

要求

  • iOS 10.0+
  • Swift 5.0+

安装

SZWebViewBridge 可通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile 中

pod 'SZWebViewBridge'

用法

  1. 使用 WKWebViewUIViewController 初始化 SZWebViewBridge。(UIViewController 将分配给处理器,并将在将来使用。例如:推送或呈现到另一个 UIViewController
let bridge = SZWebViewBridge(webView: webView, viewController: self)
webViewBridge = bridge  // make sure bridge will not be deinit.
  1. 添加一些预定义的处理程序。
var handlers: SZWebViewBridgeBaseHandlerObject {
    return [
        "setTitle": TitleHandler.self,
        "alert": AlertHandler.self,
        "testError": TestReceiveErrorHandler.self,
        "testSuccess": TestReceiveSuccessHandler.self,
        "testPush": TestPushHandler.self,
    ]
}
webViewBridge.addHandlers(handlers: handlers)
  1. 完成!您可以使用 addHandlersremoveHandlers 函数添加或删除处理器。更多详细用法请参阅示例项目。以下是 TitleHandler 的示例代码。
import UIKit
import SZWebViewBridge

class TitleHandler: SZWebViewBridgeBaseHandler {

    override func invoke() throws {
        guard let params = params else { return }

        if let title = params["title"] as? String {
            if let viewController = viewController {
                viewController.title = title
            }
        }
    }

}

示例

要运行示例项目,请先克隆仓库,并在 Example 目录下运行 pod install

作者

eroscai,[email protected]

许可证

SZWebViewBridge 在 MIT 许可证下可用。更多信息请参阅 LICENSE 文件。