問題:私が使用するライブラリは、ARC(Automatic Reference Counting)をサポートしません。 (ARCに慣れていない人のために)カスタムxcodeテンプレートは、部分的かつ選択的にARC(Automatic Reference Counting)を有効にできますか?
背景:http://developer.apple.com/library/ios/#releasenotes/ObjectiveC/RN-TransitioningToARC/_index.html
マニュアルソリューション:ライブラリの各実装ファイルの-fno-にObjCアークオプションを追加し、そうでない場合は、通常、自分のアプリケーションコードでARCを使用しています。
観察:以下のテンプレートファイルをコピーすることができ、最も可能性が高い(上記のコンパイラフラグを追加することなく - に-間、私は必要なソリューション)完全にONかOFF ARCを回すのいずれかに使用すること:
」 /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/iOSリファレンスCounting.xctemplate "
質問再入力:手動ソリューションを避ける方法はありますか? (100回以上の-fno-objc-arcオプションのコピーアンドペーストは不便です。私はAppleがプログラム的なソリューションを公開したいと思っています.Xcode UIが変更される可能性が高いため、Automator.appを使用してコピー/ 。)
例Xcode4テンプレートジェネレータ:https://github.com/MrGando/Xcode-4-Template-Generator/blob/master/template_generator.py
注template_generator.pyは、実験的な共有ビルド設定があります。私は選択的に(部分的に共有された)設定を共有したいさらに、main()のNSAutoreleasePoolを@autoreleaseブロックに変更するか、マクロ置換を行うか、2番目のmain.mファイルを提供することが望ましいでしょう。
はい、私は自分のプロジェクトのためにその解決策に移りました。ただし、テンプレートウィザードでは、「レガシー」のARC以外のコードやテンプレートコード自体の既存の定型文を気にせずに、ARCを有効にするかどうかをプログラマが選択できるようにすると便利です。 – mda
あなたはすべていいコメントをしました。実際には、GCCは-fno-objc-arcオプション(Apple-LLVM/clangコンパイラのみ)をサポートしていないため、ARCの移行はおそらく手動プロセスであり、テンプレートには時間がかかることがあります追いつくために。私は複数のプロジェクトでARCに正常に移行しました。それほど難しくありません。私のXcodeリファクタリングツールウィッシュリストにあります。誰かが網羅的なハウツーを追加しない限り、上位のモデレーターがこの質問を閉じるかもしれません。 – mda