1. 程式人生 > >xcode的ARC和MRC切換

xcode的ARC和MRC切換

一:選擇targets。

選擇build settings-->language-objective c.


二:對某個檔案進行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方式