简介
QQ分享我一直用的是TencentOpenAPI的1.0.0版本,满足分享的一切需求,但是有备案的小伙伴告诉我,备案检测中发现了UIWebView控件,什么Webview组件跨域访问风险巴拉巴拉一大堆,无法过审;在规定的期限内必须替换为WKWebView。UIWebView这么过时的控件,项目中没用啊,我用Hopper检测了一下我的项目,发现时QQ分享用的1.0.0版本,其中包含了UIWebView,没办法了只能升级最新的QQ分享SDK吧。
1.进入QQ开发平台
查看最新的版本是3.5.7,但是该版本不支持pod,果断放弃;看了一下其它版本,在cocopods官网搜一下,有没有对应的版本,有就证明该版本支持pod;最后发现3.5.5版本支持pod,那果断开启so easy的旅程。
2.pod新SDK
2.1在项目pod的配置文件Podfile中加入:
pod 'TencentOpenAPI_iOS_V3', '~> 3.5.5' # QQ分享
2.2报错
引入3.5.5后,在桥接文件中引入.h文件报错,如下图:
发现SDK文件中包含module.modulemap文件,是不是可以直接引入啊,试了一下报错如下:
从来没有遇到过这种情况?于是去百度,去StackOverflow,没有找到答案,那就去看一下SDK的module.modulemap文件吧。
寻找步骤:SDK包 -> Frameworks -> TencentOpenAPI -> show in finder -> Headers -> module.modulemap -> 打开module.modulemap文件,进行修改。
3.5.5的module.modulemap文件内容如下:
module TencentOpenApi{
umbrella header "TencentOpenApiUmbrellaHeader.h"
export *
}
修改为下面内容:
framework module TencentOpenAPI {
header "QQApiInterface.h"
header "QQApiInterfaceObject.h"
header "TencentOAuth.h"
header "TencentOpenApiUmbrellaHeader.h"
header "sdkdef.h"
export *
}
修改后,在桥接文件中引入需要的.h文件即可,继续编译,运行成功,完事了。