Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to know if my Xcode iPhone project is using ARC?

Select your project, then Build Settings. Look for Objective-C Automatic Reference Counting in the Apple LLVM Compiler - Language section. Make sure you select the target; while you can set this in the project, the target can override it.

(You can also use the search bar in Build Settings for OBJC_ARC.)

Keep in mind, too, that you can turn ARC on or off on a per file basis in build phases.

Or, just try something like this in code:

[[[NSObject alloc] init] autorelease]

If you get an error:

ARC forbids explicit message send of 'autorelease'

Then you're using ARC.

You can also require ARC from a source code file by checking for it:

#if !__has_feature(objc_arc)
#error This file must be built with ARC.
// You can turn on ARC for only this file by adding -fobjc-arc to the build phase.
#endif

Just search for Automatic in your target's build settings:

enter image description here