一、Facebook取消登錄閃退
Facebook集成并不復(fù)雜,但是集成之后會(huì)在點(diǎn)擊"取消的時(shí)候閃退"

取消按鈕
-
解決:Build Settings ->Other Linker Flags 添加 -ObjC
-
目的:給所有.a 和.framework文件中OC的分類添加可執(zhí)行文件,具體涉及runtime 有興趣的自己去研究下。
-
影響:會(huì)增大包的體積
二、Twitter和Facebook集成沖突
很多情況下app不會(huì)集成Twitter ,集成Facebook的比較多(登錄/分享)之前做的兩個(gè)海外app只需要集成Facebook,所以
Other Linker Flags只需要設(shè)置-ObjC就可以解決,也就沒怎么在意Other Linker Flags。最近新項(xiàng)目集成Facebook 和Twitter之后會(huì)編譯報(bào)錯(cuò)--Undefined symbols for architecture arm64:....等等的一些錯(cuò)誤。
然后呢,查找資料,結(jié)果:
去掉-ObjC
編譯通過 但是Facebook會(huì)崩
加上-Objc
Twitter 報(bào)錯(cuò)
最終:最終選擇解決二
解決二
-force_load
用了-ObjC以后,如果類庫中只有category沒有類的時(shí)候這些category還是加載不進(jìn)來。-all_load或者-force-load會(huì)強(qiáng)制鏈接器把目標(biāo)文件都加載進(jìn)來,即使沒有OC代碼。
例子:Facebook
-force_load$(SRCROOT)/XXX/XXX/Facebook/FBSDKLoginKit.framework/FBSDKLoginKit
注意:添加路徑一般拖拽文件就可以,但是一定要在拖拽之后把靜態(tài)庫的名字加在路徑后面。(ps:都是經(jīng)驗(yàn)?。?/code>