2012-04-17 44 views
11

在將Xcode項目轉換爲ARC(自動引用計數)後,我需要爲我的一些源文件(主要是第三方代碼)。向(多個)源文件批量添加「-fno-objc-arc」標誌

我知道我需要爲這些文件中的每一個設置「-fno-objc-arc」標誌,但Xcode不會給我一個批量編輯選項 - 我需要手動將這個標誌添加到每個文件,如果您需要將其設置爲多個文件,這可能很乏味。

有沒有人有一個聰明的方法呢?

回答

23

選擇您想要的標誌添加到(使用和/或命令)中的那些,然後按Enter鍵顯示標誌編輯器。按完成將輸入的標誌應用於選定的文件。

教程

我已經由一個blog post作爲這一過程的教程。

+0

不錯!我從來不知道你可以做到這一點+1 – borrrden 2012-04-17 02:33:17

+0

快速,真棒!我嘗試多選和雙擊,從來沒有想過按Enter鍵! – 2012-04-17 02:34:21

+1

是的,這不是很直觀。 – 2012-04-17 02:35:55

1

我需要設置不應該支持ARC(主要是第三方代碼)的文件。

除了管理標誌,你可以簡單地爲這些源創建一個靜態庫,然後鏈接。

+0

我發現圖書館製作是一個令人困惑,往往是徒勞的過程。隨着你花頭檢查和調整構建設置了所有的時間,你可以簡單地設置編譯器標誌,並已用它做。 – CodaFi 2012-04-17 03:50:20

+0

@CodaFi後寫過和配置許多圖書館,我的意見是完全相反:) – justin 2012-04-17 05:02:16

+0

我覺得這一切都取決於你有多少應用程序維護。 – nycynik 2012-04-17 23:36:39

2

到目前爲止,最簡單的選擇就是使用Edit> Refactor下的ARC轉換工具。

這不是很清楚,但基本上你只是檢查你想使用ARC的任何文件,並取消選中任何你不需要的文件。這將執行以下操作:

1)文件是未選中將具有-fno-objc弧標誌應用了被檢查將被轉換

2)文件到電弧

3)文件檢查已經轉換成ARC的將不會被觸摸

仔細閱讀。有時讓人困惑的是,他們認爲已經轉換的文件在再次運行該工具時應該保持未選中狀態,但這會錯誤地將-fno-objc-arc應用於這些文件(導致泄漏)。

您應該將ARC轉換工具視爲「批量選擇ARC兼容文件並轉換不是ARC的文件」工具,而不是直接轉換工具。

您可以根據需要多次運行轉換工具 - 效果不會累積(儘管將文件轉換爲ARC是不可逆的)。