Dec
07
2011

 

ARC is a good idea; however it may cause issues when using old libraries or if you have some code which use it and some which don’t. You might also accidentally clicked on it when creating the project and decide, no, I don’t really want it.

ARC is not a bad idea, but it will take a while to adjust to.
Here are some errors you might encounter when using ARC

[c]
'NSAutoreleasePool' is unavailable: not available in automatic reference counting mode
error: Semantic Issue: 'retain' is unavailable: not available in automatic reference counting mode
error: cast of C pointer type 'void *' to Objective-C pointer type 'Reachability *' requires a bridged cast [4]
error: implicit conversion of an Objective-C pointer to 'void *' is disallowed with ARC [4]
error: ARC forbids explicit message send of 'release' [4]
[/c]

If you for whatever reason decide not to use ARC — yet — then:
Go to the Project settings and change the

If you want just to disable some files, see Apple’s note about it from http://developer.apple.com/library/ios/#releasenotes/ObjectiveC/RN-TransitioningToARC/_index.html

When you migrate a project to use ARC, the -fobjc-arc compiler flag is set as the default for all Objective-C source files. You can disable ARC for a specific class using the -fno-objc-arc compiler flag for that class. In Xcode, in the target Build Phases tab, open the Compile Sources group to reveal the source file list. Double-click the file for which you want to set the flag, enter -fno-objc-arc in the pop-up panel, then click Done.

More to read:
Transitioning to ARC (http://developer.apple.com/library/ios/#releasenotes/ObjectiveC/RN-TransitioningToARC/_index.html)

Leave a Reply

*