iOS WKWebView JS 调用OC代码,添加token
项目需求:有一个邀请有礼页面,说白了就是一个h5的分享页面,上面有一个按钮,点击此按钮,前端会自己调用后台接口,记录是谁点击分享了,
实现:
使用 WKWebView ,#import <WebKit/WebKit.h>
添加代理,WKUIDelegate,WKNavigationDelegate,WKScriptMessageHandler 事实证明WKScriptMessageHandler 没有作用
图11:将token添加到请求头中,下面是wk设置的全部配置
图22:需要在wkwebview 加载完成时,需要把方法注入进去,注意下图中的callShareSdk ,这个是前端的调用方法,不能写错了,需要iOS这里注入。
3:再来解释图1 中 token=6ba9f4d0f68d4bf1adb803983bf0f211; path=/; domain=192.168.1.11; HttpOnly 这句话的意义,这个句话是个固定格式,在iOS端需要将本地token传到浏览器内核中,需要这种格式,不然,仅仅是addvalue,,,,forHTTPHeaderField:,,,这样其实是没用的,token=你从后台拿到的token,domain=你的ip,注意没有http://,其余格式是固定格式,复制粘贴就行。
图三4: 下图 ,在代理方法中直接判断是不是点击的分享按钮,通过这个代理方法即可获取到你点击按钮到方法是不是需要分享按钮的方法。(callShareSDK)是跟前端约定好的分享按钮方法,
5:搞定,如有不足指出,请大神指点。整个项目就两个代理方法,一个是方法注入的代理方法,一个是判断是不是点击分享按钮的方法。也就是图二和图三
欢迎加入 iOS-OC&Swift交流群 群号:529765630(顺便打个广告,我们的app名字:meetfit-约健),本群收费群,直接屏蔽那些闲来无事的人,请选择用手机加群,任何刷屏,乱开车的会被直接拉黑处理,技术交流群,欢迎任何技术爱好者和iOS开发者进群交流学习,