JavascriptBridge
More simple more light more easy to use for iOS/OSX bridge with Javascript. Also easy to get js console.log in Xcode.
Install / Use
/learn @housenkui/JavascriptBridgeREADME
Please Jump 请使用这个库,它更加完善 to here.
WebViewJavascriptBridge
An iOS/OSX bridge for sending messages between Obj-C and JavaScript in WKWebViews. Also easy to get js console.log.
More simple more light. Refactor WebViewJavascriptBridge with AOP
How to use ?
Installation with CocoaPods
Add this to your podfile and run pod install to install:
pod 'SKJavaScriptBridge', '~> 1.0.3'
If you can't find the last version, maybe you need to update local pod repo.
pod repo update
Manual installation
Drag the WebViewJavascriptBridge folder into your project.
In the dialog that appears, uncheck "Copy items into destination group's folder" and select "Create groups for any folders".
Usage
- Import the header file and declare an ivar property:
#import "WebViewJavascriptBridge.h"
@property (nonatomic, strong) WKWebView *webView;
@property (nonatomic, strong) WebViewJavascriptBridge* bridge;
self.webView = [[WKWebView alloc] initWithFrame:self.view.bounds];
[self.view addSubview:self.webView];
if(!_bridge){
_bridge = [WebViewJavascriptBridge bridgeForWebView:self.webView
showJSconsole:YES
enableLogging:YES];
}
- Register a handler in ObjC, and call a JS handler:
[_bridge registerHandler:@"ObjC Echo" handler:^(id data, WVJBResponseCallback responseCallback) {
NSLog(@"ObjC Echo called with: %@", data);
responseCallback(data);
}];
[_bridge callHandler:@"JS Echo" data:nil responseCallback:^(id responseData) {
NSLog(@"ObjC received response: %@", responseData);
}];
- Copy and paste
setupWebViewJavascriptBridgeinto your JS:
function setupWebViewJavascriptBridge(callback) {
return callback(WebViewJavascriptBridge);
}
- Finally, call
setupWebViewJavascriptBridgeand then use the bridge to register handlers and call ObjC handlers:
setupWebViewJavascriptBridge(function(bridge) {
/* Initialize your app here */
bridge.registerHandler('JS Echo', function(data, responseCallback) {
console.log("JS Echo called with:", data)
responseCallback(data)
})
bridge.callHandler('ObjC Echo', {'key':'value'}, function responseCallback(responseData) {
console.log("JS received response:", responseData)
})
})
Related Skills
node-connect
339.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.9kCommit, push, and open a PR
