Apple has announced on its developer site that apps submitted to the Mac App Store starting on May 1st will no longer be allowed to incorporate garbage collection, which was deprecated in OS X 10.8. Instead, developers will be required to switch to ARC, which was introduced in 10.7.
This change affects both new apps and updates to existing ones. Developers who need to make the switch to ARC can do so using the migration utility in Xcode. Apple also has a reference document to help make the transition.
Apple invites developers to Cupertino to finish Apple Watch apps, test out device
Apple releases iAd Workbench, shifting iAdâs focus towards app developers rather than large brands
Garbage collection is a form of automatic memory management. A process that runs in the background known as a âgarbage collectorâ periodically looks for such tied up memory that isnât being used (âgarbageâ) and frees it so that it can be used again. This relieves the programmer from having to ensure the program manually does this and keeps programs from accumulating a bunch of wasted memory (âgarbageâ). Apple added such a feature to version 2.0 of the Objective-C language.
Automatic Reference Counting is another form of automatic memory management but works differently from garbage collection. When memory is dynamically allocated for an object, the program is able to keep a handle or a âreferenceâ to that object in memory. In fact it can have multiple such references to it from various areas of the program. Automatic Reference Counting (ARC) automatically keeps track of the number of references to an object. As areas of the program no longer need to reference an object, they effectively remove their references to it. When the number of references to an object reaches 0, the object is automatically destroyed and the memory is freed up for use in other parts of the system. Apple introduced this feature to Objective-C in 2011 and also built it into Swift.
Hope that makes sense.