How to automatically convert Manual Retain-Release

2019-01-15 02:16发布

问题:

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)?

回答1:

In Xcode 6+, the command is now:

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



回答2:

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.