接入facebook 相關sdk跟接其他sdk類似,首先需要把一些facebook需要加的庫加到自己項目中,在此不再贅述;我也接入了登錄跟分享,這部分挺順利的,主要跟大家分享一下獲取facebook好友列表的耗費時間比較久。
首先在xcode工程中加入facebook白名單,在info.plist中的選項LSApplicationQueriesSchemes中添加:
我是為了一勞永逸把知道的跟facebook相關的都添加了,其實一般只要fbapi,fbauth2,fb-messenger-api,fbshareextension即可;
還有FacebookAppID添加id:
然后就是在URL Types中同樣加facebook的應用編號:
這些facebookid的正確是接下來能順利進行的關鍵(我都是跟運營確認的,有時候實在不放心,跑到運營那里自己再三確認),以免出現莫名的錯誤還不知所以然;
我在獲取好友列表的過程中,一直獲取不到data的信息,如下圖:
后來找到原因是因為沒有用不同的facebook賬號登錄該項目,用另外的賬號登錄并授予允許好友分享權限data就有值了;
再有我是在請求好友信息中加了個回調,把好友信息傳到我需要的viewcontroller里,但是傳值時沒問題,就是在我用時出了問題,我是把好友信息保存到字典里,在傳到接口里的,后來經過一番費勁發現,我的保存方法不合適,我這樣用的話,看起來沒什么問題,但調試一到這里就會崩掉,就直接log的是未知異常 [dicFriend setValue:[FBfriend objectForKey:@"id"] forKey:@"FrId"];
開始我并不認為這樣有什么問題,后來我換了保存方式:
NSMutableDictionary *mutableDic2=[NSMutableDictionary dictionary];
[mutableDic2 setDictionary:self.facebookDic];
順利通過,我也是很蒙圈,這也是細節問題(基礎),不然忽略了這個問題可能拖好久;以上就是我的分享,希望在大家遇到問題時能有幫助。