問題:我使用的庫不支持ARC(自動引用計數)。定製的xcode模板能夠部分和有選擇地啓用ARC(自動引用計數)嗎?
背景(對於那些不熟悉的ARC):http://developer.apple.com/library/ios/#releasenotes/ObjectiveC/RN-TransitioningToARC/_index.html
手動解決方案:添加庫中的每一個執行文件中的-fno-objc-arc選項,否則使用ARC通常在我的應用程序代碼。
觀察:以下模板文件可以被複制和最有可能被用於或者打開ARC完全ON或OFF(不添加編譯器標誌以上 - 的在其之間的解決方案,我需要):
「 /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/iOS Reference Counting.xctemplate「
問題重述:有沒有辦法避免手動解決方案? (在-fno-objc-arc選項中複製並粘貼超過100次不方便,我希望Apple公開一個編程解決方案,我不想使用Automator.app來進行復制/粘貼,因爲Xcode UI很可能會改變。)
例Xcode4模板發生器:https://github.com/MrGando/Xcode-4-Template-Generator/blob/master/template_generator.py
注template_generator.py具有實驗共用構建設置。我想選擇性地共享(部分共享)設置。另外,最好將main()中的NSAutoreleasePool更改爲@autorelease塊,或者使用宏替換,或者提供第二個main.m文件。
是的,我爲自己的項目繼續使用該解決方案;然而,讓模板嚮導讓編程人員選擇是否啓用ARC,對於「傳統」非ARC代碼以及模板代碼本身中的現有樣板文件最小麻煩是很有用的。 – mda 2012-01-01 14:34:39
你們都發表了很好的評論。在實踐中我發現,由於GCC不支持-fno-objc-arc選項(只有Apple-LLVM/clang編譯器會這樣做),ARC遷移可能會繼續是手動過程,並且模板可能需要一段時間趕上。我已經在多個項目上成功遷移到ARC,並且沒有那麼難。這是在我的Xcode重構工具Wishlist上。除非有人想要添加詳盡的howto,否則較高版主可能會關閉此問題。 – mda 2012-05-13 23:44:50