2012-02-22 95 views
4

我想轉換之前目標C代碼是沒有ARC成ARC。我放棄了像Xcode一樣的過程:File> Edit> Refactor> Convert to ARC。問題在轉換舊目標C代碼爲ARC(自動引用計數)

但我不能夠轉換它,因爲它產生大量錯誤的。我搜索了這個;我正在嘗試更改Xcode Target中的構建設置。

+0

錯誤?什麼錯誤? – Costique 2012-02-22 05:13:55

+0

謝謝回覆。我得到一個像這樣的錯誤窗口無法轉換爲Objective-C ARC Xcode發現84個問題,阻止繼續進行轉換。修復所有ARC準備就緒問題,然後重試。 – 2012-02-22 05:20:36

回答

6

電弧工具的轉換是不是靈丹妙藥,讓您的項目突然ARC準備。什麼工具做的是所有來電刪除喜歡的東西release & retain,它也可以採取將部分autorelease池新@auto release {}風格護理。 之前它的任何的這種運行飛行前的腳本,尋找的東西,太複雜,它找出並將其標記爲錯誤,所以你可以通過每一個做出正確的修復。

您需要逐步完成的那些84期各一個,並找出解決每一個。很可能在多個地方有六種左右的錯誤,但每種情況下都可能有一個稍微不同的解決方案。 Xcode中可能會建議對一些錯誤的一些可能的解決方法(任何顯示一個白色的矩形停車標誌的誤差在它有可能的修復時,Xcode只是不知道該用哪一個,所以你需要挑選)。在Google的幫助下,一些問題很容易解決。也可能會有更多的錯誤比最終(我轉換了一個項目,每當我修正錯誤,並試圖轉換它報告更多)。

對於你不能做一些研究,你應該張貼有關的問題在這裏後,找出錯誤,請確保因爲有許多轉化爲ARC時,可能導致問題的可能的事情要具體。

+3

我還可以補充說,如果錯誤來自第三方庫,那麼按照文件關閉ARC可能是一個選擇。 – 2012-02-22 05:41:14

+0

我不喜歡手動修復幾十個ARC問題,然後使用Convert to ARC工具? 是工具是不是靈丹妙藥,但它必須是適合於將簡單的ARC錯誤,如消除釋放和保留或[超級的dealloc]。它在以前的版本中很有用。在XCode 6中看起來有點不對勁。 – Vladimir 2015-02-25 15:46:23

+0

@Vladimir,如果你不喜歡固定的問題自己或者提交錯誤報告,以便蘋果知道的問題,花錢請別人做的那部分給你,或者不切換到ARC。 Xcode在2012年2月到現在改變了一些東西,這使得ARC轉換工具的功能比以前更少,但是蘋果公​​司很可能在Xcode的大小上自己發現問題的可能性不大。他們還根據他們對此有多少報告確定優先級,因此即使您知道其他人報告也會自行報告。 – theMikeSwan 2015-03-02 18:42:14

相關問題