Disable Automatic Reference Counting for Some Files
Solution 1:
It is not very intuitive how to disable ARC on MULTIPLE files, for a while I was do it one by one until a figured out how to do that.
- Select desired files at Target/Build Phases/Compile Sources in Xcode (CMD+click or Shift+click)
- PRESS ENTER (double click will reset the selection, so it does't work)
- Type -fno-objc-arc
- Press Enter or Done
Solution 2:
The public ARC docs, while not directly clear on this point, seem to suggest that as long as each class is either all ARC or all manually-managed, the classes can be integrated into a single program.
You only can't mix ARC and non-ARC in a single class; the document says that sending retain
, release
, autorelease
, or retainCount
messages by any means (including timers and delayed performs, which use @selector
) is banned in ARC code. So you can't do non-ARC in an ARC class (because the necessary messages are banned) and you can't do ARC in a non-ARC class (because ARC adds syntax elements that are invalid without ARC).
The same document is a bit clearer on whether you can integrate non-ARC libraries/frameworks into an ARC program: Yes. It doesn't mention whether you can use ARC libraries/frameworks in a program where all your code is non-ARC, but given all of the above, the implication seems to be yes.
Solution 3:
If you want to disable Automatic Reference Counting for some Files then its really simple to do just follow the steps.You add compiler flags in Targets -> Build Phases -> Compile Sources.
The flag used is -fno-objc-arc press enter after writing it.! You have to double click on the right column of the row under Compiler Flags. Hope it helps Thanks :)