WebViewJavascriptBridgeOC与Swift的H5交互框架

Swift 的 WebViewJavascriptBridgeOC 框架,是做 iOS 混合开发时一个挺实用的家伙。它帮你搞定 Swift 和 H5 之间那点“沟通问题”,用起来还蛮顺手的。不用写一堆桥接代码,也不用纠结谁来通知谁,框架都安排好了,蛮适合项目里有一堆 WebView 页面的场景。

WebView 里的 H5 想调原生?注册一下handler就行。Swift 那边也可以通过桥调 H5 函数,响应也快,代码也简单。你只需要在WKWebView里加点配置,比如WKUserContentControlleraddScriptMessageHandler之类的,基本上就能跑了。

桥初始化这块,建议放在viewDidLoad里,像下面这样:

let contentController = WKUserContentController()
contentController.add(self, name: "handlerName")
let config = WKWebViewConfiguration()
config.userContentController = contentController
webView = WKWebView(frame: .zero, configuration: config)

你用WebViewJavascriptBridge注册下原生方法,H5 一调就能收到。JavaScript 端也简单,用window.WebViewJavascriptBridge.send发消息,Swift 这边就能了。

要注意:H5 和原生都得配合好,比如函数名、参数结构要统一。不然一边喊了半天,另一边压根不理你——多尴尬。还有性能问题,别老在桥里塞大数据,容易卡顿。

如果你在做 App 里嵌网页,想让 Web 和原生来点“默契配合”,这套方案还挺推荐的。顺手、稳定,也不折腾。

zip
swift-WebViewJavascriptBridgeOC与H5的交互.zip 预估大小:30个文件
folder
WebViewAndHTML-master 文件夹
file
README.md 4KB
folder
WebViewAndHTMLTests 文件夹
file
WebViewAndHTMLTests.m 923B
file
Info.plist 680B
folder
WebViewAndHTML 文件夹
file
KSWebViewController.h 226B
file
AppDelegate.h 280B
folder
Base.lproj 文件夹
file
LaunchScreen.storyboard 2KB
file
KSWebViewController.m 2KB
file
RootViewController.m 1KB
file
WebView.html 2KB
folder
Assets.xcassets 文件夹
folder
AppIcon.appiconset 文件夹
file
Contents.json 2KB
file
main.m 337B
folder
WebViewJavascriptBridge 文件夹
file
WebViewJavascriptBridge.h 2KB
file
WebViewJavascriptBridge_JS.m 4KB
file
WKWebViewJavascriptBridge.h 1KB
file
WebViewJavascriptBridge_JS.h 80B
file
WebViewJavascriptBridge.m 7KB
file
WebViewJavascriptBridgeBase.h 2KB
file
WebViewJavascriptBridgeBase.m 8KB
file
WKWebViewJavascriptBridge.m 7KB
file
RootViewController.h 224B
file
Info.plist 1KB
file
AppDelegate.m 2KB
folder
WebViewAndHTMLUITests 文件夹
file
Info.plist 680B
file
WebViewAndHTMLUITests.m 1KB
folder
WebViewAndHTML.xcodeproj 文件夹
folder
project.xcworkspace 文件夹
file
contents.xcworkspacedata 159B
folder
xcuserdata 文件夹
folder
dukaishun.xcuserdatad 文件夹
file
UserInterfaceState.xcuserstate 22KB
file
project.pbxproj 25KB
folder
xcuserdata 文件夹
folder
dukaishun.xcuserdatad 文件夹
folder
xcschemes 文件夹
file
WebViewAndHTML.xcscheme 4KB
file
xcschememanagement.plist 666B
folder
xcdebugger 文件夹
file
Breakpoints_v2.xcbkptlist 91B
zip 文件大小:45.34KB