1. ホーム
  2. objective-c

[解決済み] プロジェクト内の単一ファイルのARCを無効にするにはどうしたらいいですか?

2022-03-18 19:20:27

質問

私は自分のプロジェクトでARCをうまく使っています。しかし、いくつかのファイル(ユニットテストやモックオブジェクトなど)で、今現在ARCのルールが少し脆弱なものに遭遇しています。ファイルごとにARCを無効にする方法があると聞いた記憶があるのですが、このオプションを見つけることができません。

これは可能なのでしょうか?ファイル単位でARCを無効にするにはどうすればよいのでしょうか?

解決方法は?

個々のファイルに対してARCを無効にするには、そのファイルに対して -fno-objc-arc コンパイラーフラグを設定します。

コンパイルフラグは、Targets -> Build Phases -> Compile Sources で追加します。の行の右の列をダブルクリックしてください。 コンパイラーフラグ . また、cmdボタンを押しながらファイルを選択し、Enterキーを押してフラグの編集ボックスを表示させれば、複数のファイルに追加することができます。(複数のファイルを編集すると、すでに持っているフラグを上書きしてしまうので注意)。

例のサンプルプロジェクトを作りました。 https://github.com/jaminguy/NoArc

詳しくはこちらの回答をご覧ください。 一部のファイルに対する自動参照カウントの無効化