javascript直接调用oc代码

ios开发,javascript直接调用oc代码而非通过改变url回调方式

梦想与她 提交于 2019-11-27 11:51:18
之前一个ios项目中,需要通过UIWebview来打开一个静态页面,并在静态页面中 调用相关object-c代码。 一、以前使用js调用object-c的方法 关于如何使用javascript调用object-c中的函数和方法,我搜索了好久 网上所有的方法,基本都指明了一个方向,那就是在UIWebview中载入的js代码中 通过改变document.locations=“”,然后回调UIWebview的 -(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 函数,在上面这个函数中,通过截取NSURLRequest解析js中传递过来的参数,再根据参数 来选择早已定义好的方法。 有没有别的方法呢? 我找了几个月,没找到!但是有一个转机。 我偶然知道了 javascriptCore.framework 这个库 于是事情有了转机。 二、在js中直接调用oc的方法 废话不多说,现在看看如何在UIWebView的javascript中调用oc的方法 首先在建立一个UIWebView,代码如下: // // webview.m // login // //