您的当前位置:首页正文

js调用oc代码

2024-11-08 来源:个人技术集锦

好比说,前端那边给我们定义了一个方法是window.AndroidWebView.getToken()想获取我们客户端的token。


在加载有webView的VC的.h文件中

#import <JavaScriptCore/JavaScriptCore.h>


@protocol JSObjectDelegate <JSExport>


- (NSString *)getToken;


@end


在VC的.m文件中,加上代理JSObjectDelegate

#pragma mark - <UIWebViewDelegate>


- (void)webViewDidStartLoad:(UIWebView *)webView {

   

 _jsContext = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];

                           

    _jsContext[@"AndroidWebView"] = self;

    _jsContext.exceptionHandler = ^(JSContext *context, JSValue *exceptionValue) {

        context.exception = exceptionValue;

        NSLog(@"异常信息:%@", exceptionValue);

    };

}

#pragma mark - <JSObjectDelegate>

- (NSString *)getToken {

    return [UserDefaultHelper getToken];

}


显示全文