GCWKWebViewJSBridge 0.1.1

GCWKWebViewJSBridge 0.1.1

strivever 维护。



  • gancaoyisheng

GCWKWebViewJSBridge

CI Status Version License Platform

详情点击 有啥功能

示例

要运行示例项目,首先从中克隆仓库,然后在 Example 目录中运行 pod install 命令。

要求

安装

CocoaPods

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

Add pod 'GCWKWebViewJSBridge' to your Podfile.
Run pod install or pod update.
Import <GCWKWebViewJSBridge/GCWKWebViewJSBridge.h>.
pod 'GCWKWebViewJSBridge', '~> 0.1.0'

手动

  • 下载 GCWKWebViewJSBridge 子目录中的所有文件。
  • 将源文件添加到您的 Xcode 项目中。
  • 导入 GCWKWebViewJSBridge.h

作者

strivever

描述

1. 深度交互 WKWebView,并提供了 js 日志输出到 xcode 控制台;2. 提供 JS 调用 OC;提供 OC 调用 JS;3. OC 通过注入变量给 JS 传参数;4. OC 通过注册 JS 函数,供 JS 调用;5. js 给 OC 传参;通过拦截链接,进行交互,进行了统一封装,统一管理你的拦截回调;

使用方法

    //注册xcode控制台 输出web控制台信息
    [bridge registCaptureJSConsoleLog];
    [bridge registCaptureJSExceptionLog];
    //注册JS调用ocShare函数
    [bridge registJSMethod:@"ocCamera" nativeHandler:^(NSString * _Nonnull messageName, id  _Nonnull messageBody) {
        NSLog(@"%@",messageBody);
    }];
     //批量注册JS调用oc函数
    [bridge registJSMethods:@[@"ocShare",@"getUserJson"] nativeHandler:^(NSString * _Nonnull messageName, id  _Nonnull messageBody) {
         NSLog(@"%@:%@",messageName,messageBody);
    }];
    
    //oc向JS注入实例变量,可用来向h5注入用户token,信息等等
    NSDictionary * userInfo = @{@"uid":@"10086",@"name":@"中国移动",@"age":@"22",@"token":@"oidahnfjabfiabfuaojfbaiufbafo"};
    [bridge nativeUploadJSArguments:userInfo filedName:@"uoloadUser" inTime:WKUserScriptInjectionTimeAtDocumentStart];
   
    //oc向JS注入参数,可用来向h5注入一个带参数返回值的函数,供h5调用
    NSArray * lists = @[@"周1",@"周2",@"周3",@"周4"];
    [bridge nativeUploadJSArguments:lists useMethod:@"getOCMessage" inTime:WKUserScriptInjectionTimeAtDocumentStart];
    
    //注册拦截www.baidu.com
    [bridge registInterceptURLKey:@"www.baidu.com" handler:^(NSString * _Nonnull keyURL, NSString * _Nonnull URL) {
        
    }];
    //批量注册拦截www.baidu.com
    [bridge registInterceptURLKeys:@[@"share:123",@"share:12345",@"share://info#"] handler:^(NSString * _Nonnull keyURL, NSString * _Nonnull URL) {
        NSLog(@"%@====\n%@",keyURL,URL);
    }];

许可证

GCWKWebViewJSBridge 采用 MIT 许可证。有关更多信息,请参阅 LICENSE 文件。