非ARCコードを除外するコンパイラ指令を配置して、共有コードをARCを使用するプロジェクトと使用しないプロジェクトで使用できるようにするにはどうすればよいですか?
例えば:
MyClass *myClass = [MyClass alloc]init];
...
#if NOT_USING_ARC
[myClass release];
#endif
非ARCコードを除外するコンパイラ指令を配置して、共有コードをARCを使用するプロジェクトと使用しないプロジェクトで使用できるようにするにはどうすればよいですか?
例えば:
MyClass *myClass = [MyClass alloc]init];
...
#if NOT_USING_ARC
[myClass release];
#endif
次を使用できます。
#if __has_feature(objc_arc)
...
#else
...
#endif
クラスをARCと互換性があるように変換するリファクタリングがあります。
XCodeメニューの場合:[編集]-[リファクタリング]-[Objective-CARCに変換]。
もう1つのオプションは、個々のファイルに-fno-objc-arc
コンパイラフラグを追加して、それらのファイルのARCを無効にすることです。
コンパイラフラグは、[ターゲット]->[ビルドフェーズ]->[ソースのコンパイル]で追加します。コンパイラフラグの下の行の右側の列をダブルクリックする必要があります。cmdボタンを押したままファイルを選択し、Enterキーを押してフラグ編集ボックスを表示することにより、複数のファイルに追加することもできます。