Disable Automatic Reference Counting for Some Files
automatic-ref-counting, ios5, objective-c
Solution
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.
Problem
I have downloaded the iOS 5 SDK and found that ARC is a great feature of the new Apple compiler. For the time being, many third party frameworks don't support ARC. Could I use ARC for my new code and keep the current retain/release code unchanged? The ARC converter doesn't work here, because some frameworks, such as JSONKit, cannot be converted to ARC by using the converter. Edit: The answer is to add `-fno-objc-arc` to the compiler flags for the files you don't want ARC. In Xcode 4, you can do this under your target -> Build Phases -> Compile Sources.