swift項目集成QQ 3.5.5SDK遇到的問題

簡介

??QQ分享我一直用的是TencentOpenAPI的1.0.0版本,滿足分享的一切需求,但是有備案的小伙伴告訴我,備案檢測中發(fā)現(xiàn)了UIWebView控件,什么Webview組件跨域訪問風(fēng)險巴拉巴拉一大堆,無法過審;在規(guī)定的期限內(nèi)必須替換為WKWebView。UIWebView這么過時的控件,項目中沒用啊,我用Hopper檢測了一下我的項目,發(fā)現(xiàn)時QQ分享用的1.0.0版本,其中包含了UIWebView,沒辦法了只能升級最新的QQ分享SDK吧。

1.進入QQ開發(fā)平臺

??查看最新的版本是3.5.7,但是該版本不支持pod,果斷放棄;看了一下其它版本,在cocopods官網(wǎng)搜一下,有沒有對應(yīng)的版本,有就證明該版本支持pod;最后發(fā)現(xiàn)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文件報錯,如下圖:


456.jpg

??發(fā)現(xiàn)SDK文件中包含module.modulemap文件,是不是可以直接引入啊,試了一下報錯如下:


78.png

??從來沒有遇到過這種情況?于是去百度,去StackOverflow,沒有找到答案,那就去看一下SDK的module.modulemap文件吧。
??尋找步驟:SDK包 -> Frameworks -> TencentOpenAPI -> show in finder -> Headers -> module.modulemap -> 打開module.modulemap文件,進行修改。
??3.5.5的module.modulemap文件內(nèi)容如下:
module TencentOpenApi{
    umbrella header "TencentOpenApiUmbrellaHeader.h"
    export *
}

修改為下面內(nèi)容:

framework module TencentOpenAPI {
  header "QQApiInterface.h"
  header "QQApiInterfaceObject.h"
  header "TencentOAuth.h"
  header "TencentOpenApiUmbrellaHeader.h"
  header "sdkdef.h"

  export *
}

??修改后,在橋接文件中引入需要的.h文件即可,繼續(xù)編譯,運行成功,完事了。

參考文章:《Swift 關(guān)于 module.modulemap 使用》

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容