? ? ? 最近因為新的APP需要使用微信和QQ登錄的,而為了方便所以統(tǒng)一使用了友盟的第三方登錄耙旦,至于其他的第三方也可以各自根據(jù)需求進行選擇,比如Mob等等免都,這里我們就說說友盟的。友盟提供的方式有直接下載SDK放到項目工程中去脓规,但是鑒于前車之鑒抖拦,現(xiàn)在這種第三方一般都采用Cocoapods進行管理了舷暮,有什么好處呢下面?
? ? ? ?一是沥割、管理方便,統(tǒng)一使用cocoapods管理机杜;
? ? ? ?二是椒拗、升級方便,曾經(jīng)使用環(huán)信即時通訊的時候把SDK下載放入工程中直接導(dǎo)致根本無法更新SDK蚀苛,因為涉及太多了,而更新第三方SDK是以免出現(xiàn)問題可以第一時間使用到最新的第三方服務(wù)腋舌,比如曾經(jīng)蘋果熱更新的審核問題块饺,很多就是因為SDK的問題雌芽,然后如果第三方是用cocoapods管理的話,只要pod update一個命令就可以解決熱更新審核的問題想诅。
而關(guān)于cocoapods方式集成友盟的文章以及友盟官方說得感覺也有點繁瑣来破,下面我就一步一步圖文結(jié)合的方式說說使用cocoapods的方式集成友盟的微信和QQ登錄忘古,不過友盟關(guān)于cocoapods集成的方式髓堪,也可以點擊這個鏈接,友盟官方cocoapods集成方式驶沼。下面就說說實際使用過程中的步驟争群,如下:
? 第一换薄、準(zhǔn)備好微信開發(fā)者應(yīng)用玉雾,獲取到微信開發(fā)者里應(yīng)用的ID和Secret复旬,至于申請微信開發(fā)者和創(chuàng)建應(yīng)用這個步驟就不累述了,如下圖:
第二壁涎、準(zhǔn)備好QQ互聯(lián)開發(fā)者應(yīng)用粹庞,獲取到QQ開發(fā)者里應(yīng)用的ID洽损,key可以不用獲取,因為用不到流码。至于申請QQ互聯(lián)開發(fā)者和創(chuàng)建應(yīng)用這個步驟也不累述了延刘,不過關(guān)于創(chuàng)建QQ互聯(lián)應(yīng)用的里面有點需要說明一下的是碘赖,
說明:由于APP還正處于開發(fā)階段,沒有URL Schema和AppStore ID播掷,所以這里先是亂寫的撼班,但是也有規(guī)律!
URL Schema格式是:QQ + 8位數(shù)字件炉,
AppStore ID格式是:10位純數(shù)字斟冕,
等上架之后再回來改即可板祝!
QQ互聯(lián)里面的截圖,如下圖:
第三孤里、獲取友盟自身的key捌袜,同樣不類書申請友盟開發(fā)者和創(chuàng)建應(yīng)用這個步驟虏等,獲取方式如下圖:
第四霍衫、cocoapods添加組件
第五敦跌、配置Xcode項目步驟
? ?5.1? ?根據(jù)集成的不同平臺加入相關(guān)的依賴庫逛揩,未列出平臺則不需添加添加方式:選中項目Target -> General -> Linked Frameworks and Libraries列表中進行添加辩稽。
? 5.2? 第三方平臺配置
配置SSO白名單
如果你的應(yīng)用使用了如SSO授權(quán)登錄或跳轉(zhuǎn)到第三方分享功能逞泄,在iOS9/10下就需要增加一個可跳轉(zhuǎn)的白名單喷众,即LSApplicationQueriesSchemes,否則將在SDK判斷是否跳轉(zhuǎn)時用到的canOpenURL時返回NO侮腹,進而只進行webview授權(quán)或授權(quán)/分享失敗父阻。在項目中的info.plist中加入應(yīng)用白名單,右鍵info.plist選擇source code打開(plist具體設(shè)置在Build Setting -> Packaging -> Info.plist File可獲取plist路徑)請根據(jù)選擇的平臺對以下配置進行裁剪:
下面是放在info.plist里面的代碼履婉,如下:
(代碼直接復(fù)制進來幾次都沒成功毁腿,都會出現(xiàn)亂碼已烤,知道怎么解決的告訴我,謝謝胯究!QQ:834537795)
?5.3? 配置第三方平臺URL Scheme
第六裕循、設(shè)置代碼,在AppDelegate里面添加下面截圖的代碼剥哑,不過首先要導(dǎo)入兩個頭文件株婴,具體如下圖:
第七督暂、點擊微信和QQ登錄
點擊QQ登錄調(diào)用的方法:
微信登錄調(diào)用方法:
第八饥努、設(shè)置和監(jiān)聽回調(diào)
在AppDelegate.m中添加以下方法設(shè)置回調(diào)
到上面為止酷愧,cocoapods快速集成友盟的微信和QQ登錄大致全部都完成了缠诅!如果還有什么情況,歡迎和我交流士败,QQ:834537795谅将。