首先JS要调用OC的方法,
这是JS给的方法名
/**
* title 分享标题
* img 分享图片地址
* link 分享链接
*/
game.wechatShare(title, img, link);
iOS端做的是在
- (void)webViewDidFinishLoad:(UIWebView *)webView;
这个方法中实现
//js oc 交互
JSContext *context = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
context[@"game"] = self;
NSString *jsStr2 = @"game.weChatShare(title,img,link)";
[context evaluateScript:jsStr2];
定义协议
@protocol KnockExpor <JSExport>
- (void)we:(NSString *)title Chat:(NSString *)img Share:(NSString *)link;
@end
此处方法名定义,有几个参数要把方法名拆分成几段,首字母需要大写(说多了都是泪),当然参数多的话可以让后台返回个字典.
实现协议方法
- (void)we:(NSString *)title Chat:(NSString *)img Share:(NSString *)link
{
MyLog(@"%@-%@-%@",title,img,link);
}
别忘了回到主线程刷新UI
END。