iOS使用友盟集成Facebook和twitter遇到的坑
1.Facebook賬號(hào)問題:
1.1 公司用QQ郵箱注冊(cè)Facebook賬號(hào),全都被禁用了。
1.2后來改為163郵箱,直接注冊(cè)成功。這是別人注冊(cè)好給我的。
1.3然后開通注冊(cè)開發(fā)者賬號(hào)時(shí)需要驗(yàn)證手機(jī)號(hào),手機(jī)號(hào)通過了,但是這時(shí)候又要驗(yàn)證郵箱,應(yīng)該是之前的注冊(cè)沒有走驗(yàn)證這條路。
1.4驗(yàn)證郵箱通過后,被認(rèn)定為賬號(hào)有問題,要求上傳照片。好了,賬號(hào)暫時(shí)無法使用。于是,我一怒之下?lián)Q成了自己的fb賬號(hào)

2.自己賬號(hào)注冊(cè)Facebook的開發(fā)者賬戶很簡(jiǎn)單,連接然后登錄,然后添加新的應(yīng)用,全中文,沒啥說頭。


然后會(huì)生成一個(gè)id,一個(gè)密鑰,使用第三方登錄時(shí)只要id就行。

然后可以創(chuàng)建一個(gè)iOS一個(gè)安卓的應(yīng)用,iOS就一個(gè)Bundle ID,安卓主要是一個(gè)散列,生成方法自行百度。
3.集成到項(xiàng)目中。
公司對(duì)項(xiàng)目沒有什么規(guī)定和限制,要集成好幾個(gè)登錄,所以我就直接使用友盟的SDK了。
包拖進(jìn)來,依賴文件添加好,然后添加白名單,還有跳轉(zhuǎn)的URL Scheme
這是官網(wǎng)提供的關(guān)于FB的白名單,我添加了之后還是有一些問題,具體的報(bào)錯(cuò)已經(jīng)忘了,
<!-- Facebook URL Scheme 白名單-->
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
然后谷歌了一下,有添加了一個(gè)
<string>fbauth</string>
URL Scheme: fb+id 沒啥東西
注:在Facebook未提交應(yīng)用審核時(shí),每一個(gè)賬號(hào)所對(duì)應(yīng)的應(yīng)用,在測(cè)試的過程中,只能使用自己對(duì)應(yīng)的Facebook賬號(hào)進(jìn)行登陸。否則在跳轉(zhuǎn)Facebook后會(huì)出現(xiàn)一段error
twitter 的開發(fā)者賬號(hào)比Facebook還要簡(jiǎn)單些,然后點(diǎn)擊My apps而不是Join,然后創(chuàng)建應(yīng)用。
給一個(gè)沒有被綁定的應(yīng)用名,好像連Bundle ID都不需要。然后就可以了。
在Permissions中修改權(quán)限為Read,Write and Access direct messages
然后在Key and Access Tokens查看應(yīng)用的API Key和API Secret
集成友盟時(shí),有一個(gè)文件包,在本地文件里面,但是沒有加入到項(xiàng)目中,要手動(dòng)拖拽一下。
文件名:TwitterKitResources.bundle
twitter的三方登陸是不跳轉(zhuǎn)的,應(yīng)該是獲取系統(tǒng)綁定的twitter賬號(hào),如果有多個(gè)賬號(hào)就會(huì)彈出一個(gè)選擇框,沒有多賬戶就會(huì)直接登陸。
遇到的一個(gè)坑:
在手機(jī)端,或者設(shè)置中沒有twitter賬號(hào)時(shí)候,沒有彈出twitter的登陸網(wǎng)頁(yè)。
最后的一個(gè)報(bào)錯(cuò)是:
This client application's callback url has been locked
直接給解決方案:
在twitter 的開發(fā)者賬號(hào)中,去掉勾選
Enable Callback Locking (It is recommended to enable callback locking to ensure apps cannot overwrite the callback url)
