How to know if my Xcode iPhone project is using AR

2019-03-14 11:57发布

问题:

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?

回答1:

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


回答2:

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