user1379417
user1379417

Reputation:

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

I want to know if my Xcode iPhone project is using ARC, and I can't remember if I ticked that box when creating the project.

How can I get this information?

Upvotes: 33

Views: 10104

Answers (2)

Steven Fisher
Steven Fisher

Reputation: 44876

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

Upvotes: 53

Ashley Mills
Ashley Mills

Reputation: 53111

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

enter image description here

Upvotes: 21

Related Questions