50

Today, I have update my xCode to 4.2 version, And I want to disable the ARC, I also search with the google. but can't fix my problem. According the search results, In the target setting, I can't find the 'Objective-C Automatic reference counting' item, So have no chance to set it to NO. I find the item one by one, and also use the search field.

And one know the newest Xcode4.2 ,how to disable the ARC for the project, not for the specific file.

Thanks very much.

Philipp Schlösser
  • 5,179
  • 2
  • 38
  • 52
user501836
  • 1,106
  • 1
  • 12
  • 20
  • In the window where you are looking for the ARC Key-Value pair: Have you thought about setting the filter to 'all'? – Philipp Schlösser Oct 20 '11 at 14:02
  • YES, I want to disable it for the project. I create the project use the old Xcode, and now I open the project with newest one, I think I can set the ARC off/on .Maybe I am wrong. Maybe only the newest xcode4.2 create the project and have the ARC off/on switch。 Just my think I will have a try。 – user501836 Oct 20 '11 at 14:41
  • No, my project was created with Xcode 3 and it has the switch. However, if you did not turn on ARC in the first place, you don't have to turn it off. You probably need to use "Convert to Objective-C ARC" to turn it on the first time. If you did not do this, there is nothing to turn off :) – Philipp Schlösser Oct 20 '11 at 18:13

3 Answers3

109
  • Click on you project, in the left hand organizer.
  • Select your target, in the next column over.
  • Select the Build Settings tab at the top.
  • Scroll down to "Objective-C Automatic Reference Counting" (it may be listed as "CLANG_ENABLE_OBJC_ARC" under the User-Defined settings group),
  • and set it to NO.

This is on Xcode 4.2 (Build 4D199).

PAT
  • 507
  • 5
  • 13
NJones
  • 27,139
  • 8
  • 70
  • 88
  • 1
    OK, I get the point now. I can't find the item because I create the project with old xcode4.1 and open wit the new xcode4.2. Only the new xcode4.2 create the project that can find the item. – user501836 Oct 21 '11 at 01:25
  • 4
    If you mean 'Objective-C Automatic Reference Counting' it should be in the 'Apple LLVM 3.0 Compiler Language' group. – NJones Oct 21 '11 at 01:36
1

In Xcode 4.2 beta, there were 2 places per target that you could toggle the use of ARC... now there seems to be NONE.

Also, the "Convert to ARC" menu item seems to have disappeared.

Now, yes, I suppose that the ARC stuff was never meant for Mac Developers, as 4.2 beta was iOS only, but not exactly sure what Mac developers who did play with the ARC stuff in their Mac Apps are supposed to do now....

File Radar Reports. Wait for 4.3? redo the app? Edit the .xcode XML manually? Not sure.

Alex Gray
  • 16,007
  • 9
  • 96
  • 118
0

Disable ARC or enable MRC

You should operate by C flags

//enable ARC
-fobjc-arc
//disable ARC
-fno-objc-arc

You have three options:

  1. Local - Compile Sources
  2. Global - OTHER_CFLAGS
  3. Global - CLANG_ENABLE_OBJC_ARC

[Under the hood]

yoAlex5
  • 29,217
  • 8
  • 193
  • 205