Xcode5以後,新建iOS工程,默認都是ARC模式,可是有時候咱們的項目中須要用到一些第三方框架,咱們下載下來卻發現是非ARC的,這時候咱們須要進行ARC和MRC混編。
第一種方式:
Edit->Refactor,轉換成ARC方式
著名的iOS網絡框架ASIHTTPRequest就是MRC,咱們試試能不能轉換成ARC
點擊Check,咱們發現悲劇了
多數狀況下這種方式都會出錯,那該怎麼辦呢?
第二種方式:
給編譯器加標記
能夠在Build Phases中的Compile Sources中加入編譯標記-fno-objc-arc,確實可行,可是文件好多,這種方式適合文件比較少的狀況,文件多了難道咱們要一個一個加嘛,這時候咱們能夠藉助一個工具
xproj,這是一個腳本,能夠很方便的給某個文件夾內的文件添加編譯標記,具體使用方法咱們看項目主頁就好了,既能夠給ARC項目添加MRC標記(-fno-objc-arc),也能夠給MRC項目添加ARC標記(-fobjc-arc)
第三種方式:
打包成靜態庫
將咱們將要使用的類拖入工程當中
勾選正確的target
將原來的類文件刪除,只留咱們須要的,而後咱們將整個項目變爲MRC
添加頭文件
設置公共頭文件
運行程序,咱們發現靜態庫已經產生
這種方式的缺點就是若是須要改源碼,就須要從新打包
最後一種方式,項目引用
新建一個項目,改成非ARC,在另外一個項目中引用這個項目
咱們須要把項目B中的無關文件刪除掉
最後一種方式
本身重寫成ARC方式