Affiliate Disclosure
If you buy through our links, we may get a commission. Read our ethics policy.

Apple says Mac app makers must transition to ARC memory management by May

Source: Apple

Last updated

In an announcement posted to Apple's developer portal on Friday, the notified app makers that all Mac App Store submissions will soon be restricted from using garbage collection in favor of the Automatic Reference Counting (ARC) compiler feature.

The announcement calls for developers to migrate upcoming and existing Mac apps away from garbage collection memory management, which was deprecated with the release of OS X 10.8 Mountain Lion, to the more efficient ARC scheme by early May.

ARC is a compiler feature that provides automatic memory management of objects when using the Objective-C programming language, allowing developers an alternative to traditional retain and release code.

Developers are urged to use Xcode's migration assistant when transitioning, as the tool includes an automated conversion feature that, among other operations, removes retain and release calls from an app's code.

Apple notes that apps distributed through the Mac App Store may continue to use retain and release operations for manual memory management.

The new stipulation takes effect on May 1 and applies to both new Mac apps and update submissions.



76 Comments

SpamSandwich 19 Years · 32917 comments

How does this translate into an improvement for the app user? More efficient use of code, meaning a smoother experience for apps? Potentially fewer crashes?

shookster 18 Years · 113 comments

If my understanding is correct, ARC works by inserting retain and release calls, so there is no way for Apple to tell from a compiled app whether you are using ARC or manually retaining/releasing. So developers do not have to use ARC at all, they just have to move away from garbage collection.

ascii 19 Years · 5930 comments

Quote:
Originally Posted by SpamSandwich 
 

How does this translate into an improvement for the app user? More efficient use of code, meaning a smoother experience for apps? Potentially fewer crashes?


It means apps will use less maximum memory (lower "high water mark"). Garbage collection lets unused memory build up for a while and then cleans it all up in one go, whereas ARC cleans up as it goes. 

 

I wonder if this means the garbage collector will be removed (as opposed to deprecated but still there) in OS X 10.11?

solipsismy 10 Years · 5099 comments

I'm kind of amazed they didn't make this a requirement a year ago.