Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to automatically convert Manual Retain-Release code to ARC?

I have thousands of line of code written for iOS 4. The codebase contains many calls to retain and release, which cause errors when the project is updated to iOS 5 and ARC.

Is there a way to automatically convert Manual Retain-Release (MRR) code to Automatic Reference Counting (ARC)?

like image 302
andikurnia Avatar asked Oct 24 '11 11:10

andikurnia


2 Answers

From the Xcode 4.2 release notes:

To initiate the process, enable Continue building after errors in the General Preferences pane, then choose Edit > Refactor > Convert to Objective-C ARC. The targets that you convert are updated to build using the Apple LLVM compiler. Xcode attempts to build your target and to determine what changes must be made to use ARC. If it finds any issues that prevent conversion, Xcode displays a dialog directing you to review the errors in the Issue navigator. After you correct the errors, choose the Convert to Objective-C Automatic Reference Counting menu item again to restart the ARC-conversion workflow.

like image 74
Laurent Etiemble Avatar answered Sep 19 '22 00:09

Laurent Etiemble


In Xcode 6+, the command is now:

Edit > Convert > To Objective-C ARC...

like image 40
pkamb Avatar answered Sep 18 '22 00:09

pkamb