How to deploy to Snow Leopard with ARC enabled

2020-02-05 04:34发布

问题:

I have an OSX app that I would like to migrate to ARC. Everything works fine if I set the base SDK to 10.7. But when I set it to 10.6 it does not work ( because it does not find _objc_release etc.). So how do I deploy my app to 10.6 with ARC enabled?

回答1:

You set the SDK to 10.7 but the Deployment Target to 10.6.

Keep in mind:

While it's possible to build programs using ARC that run on Mac OS X 10.6 and iOS 4, zeroing weak references are not available on those OSes. All weak references must be __unsafe_unretained here. Because non-zeroing weak references are so dangerous, this limitation significantly decreases the attractiveness of ARC on those OSes in my view.

Source: Automatic Reference Counting



回答2:

You might find PLWeakCompatibility useful. It allows you to use __weak variables on iOS 4 and OS X 10.6.

Source code here: https://github.com/plausiblelabs/PLWeakCompatibility
More info at http://www.mikeash.com/pyblog/introducing-plweakcompatibility.html