2011-12-15 11 views
1

最新のSDK iOS5を使用してiOS 4.2用iPhoneアプリケーションを開発しました。私は外部クラスを追加しようとしていますKaliOS 5.0でiOS 4.0用のiPhoneアプリを開発していますか?

私はエラー "ARCは、 'autorelease'、 'retain'、 'release'の明示的なメッセージ送信を禁じます。そして私はどのような状態でも、このクラスを自分のアプリケーションに追加したいと思っています。 私のアプリケーションでそのクラスを実行したいと思います。 私はARCスキーム含む最新のiOS 5.0()

おかげから4.0低いバージョンに私のアプリを展開する方法、リリースを保持を明示的に使用し、自動解放キーワード 2)を使用する方法)、基本的に2つの点に 1を立ち往生 RRB

答えて

1

を参照してください。

XCodeメニューで、編集 - リファクタリング - Objective-C ARCに変換します。

+0

ARC環境ですべてのクラスをリファクタリングすると、すでに書かれたretain、releaseキーワードが実行されますか?また、それがARC環境で実行され、iOS 5の下位バージョンで実行されるとしますか? – Tirth

+0

@RRB:リファクタリングでは、retainとreleaseのキーワードはすべて削除されます。これは不要になるため、ARCコードはiOS 4.x以降で実行されます。 –

+0

おかげで、シミュレータで私のために働いてくれただけで、デバイスをチェックすることができました。 – Tirth

0

プロジェクトのXcode 4.2では、ARCをオフにすることができます。詳細情報については

、またthe blogpost

を参照してください、あなたのクラスはARCに対応するように変換されますリファクタリングがあります。このSO question

1

ファイル単位でARCを無効にする方法については、this questionを参照してください。ここでの解決策は、残りのプロジェクトで有効にしたまま、KalファイルのARCを無効にすることです。 (ARCは、iOS 4.0でいくつかの小さな例外を除いてうまく動作します)

関連する問題