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)?
In Xcode 6+, the command is now:
Edit > Convert > To Objective-C ARC...
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.