web-dev-qa-db-ja.com

Xcode 4.2でプロジェクト全体でARCを有効にする方法

[〜#〜] arc [〜#〜]を使用して変換したいiOSアプリがあります。移行ツールを使用するだけですが、プレビュー段階で一貫してエラーが発生します。

-fobjc-arcコンパイラディレクティブをファイルごとに使用できることは知っていますが、プロジェクト全体で[〜#〜] arc [〜#〜]を有効にします。次に、-fno-objc-arcを使用して個々のクラスをオフにします。

4.2の新しいプロジェクトでは、デフォルトでARCを使用できるため、どこかにスイッチが必要です。

誰でもプロジェクトをARCに変換するのを手伝ってもらえますか

50
Alpinista

「ARCはXcode 4.2で利用可能で、現在ベータ版であり、Clang(別名「Apple LLVMコンパイラ」)でコンパイルする場合のみです。この設定は、明らかに「Objective-C自動参照カウント」と呼ばれます。あなたが行く。

既存のコードで作業している場合、この設定を変更すると大量のエラーが発生します。 ARCはメモリを管理するだけでなく、自分でメモリを管理することを禁止します。 ARCを使用するときに手動でretain/release/autoreleaseを送信することは違法です。通常の非ARC Cocoaコードにはこのようなものが散らばっているため、多くのエラーが発生します。

幸いなことに、Xcodeは既存のコードを変換するツールを提供します。 編集->リファクタリング...-> Objective-C ARCに変換...を選択すると、Xcodeがコードの変換をガイドします。何をすべきかを理解するのに助けが必要な状況もあるかもしれませんが、そのプロセスは大部分が自動化されるはずです。」

私はこのリンクからそれを取り、私をたくさん助けました: http://www.mikeash.com/pyblog/friday-qa-2011-09-30-automatic-reference-counting.html

65
RyanG

プロジェクトまたはターゲットを選択し、ビルド設定に移動し、セクションApple LLVMコンパイラ3.0-言語にオプションObjective-C Automatic Reference Counting

48
user263865

Towpseの場合、Xcode 4.6では、「CLANG_ENABLE_OBJC_ARC」を探し、「Yes」に変更して有効にする必要があります。

5
Josh B