Hacker Newsnew | comments | ask | jobs | submitlogin
mikeash 940 days ago | link | parent

ARC includes zeroing weak references, which need runtime support. These are only available on iOS 5.

The rest of ARC still needs a bit of runtime support, but the functions it needs are basically just wrappers around the standard Objective-C memory management messages. They exist because they enable various optimizations. Apple provides a shim library for these which allow ARC apps to run on iOS 4.3. I'd guess they could run on even earlier OSes, but I believe that's not officially supported.



jbjohns 940 days ago | link

Thanks for your answers. Does this mean we have to maintain different versions of each app or is it reasonable to say nothing earlier than 4.3 is supported [1]?

[1] Full disclosure: I haven't released my first app yet so I'm wondering if I should only develop with the new IOS 5 tools or if I'm going to have to write my app with Xcode 4.1 anyway.

-----

mikeash 940 days ago | link

This is just my opinion, so don't take my word for it.

There is no reason to support anything earlier than iOS 4.3 for an app being released today. 4.3 works on all devices except the original iPhone, the 3G, and the equivalent iPod Touch models. It's also a free upgrade for (nearly?) everybody. The fraction of your audience still using something prior to 4.3 will be very small.

If you're not releasing very soon, it will probably be worthwhile to simply require iOS 5. New OS version uptake tends to be fast, and it seems likely that those who don't update their OS are also less likely to buy apps. iOS 5 is a pretty big deal with a lot of new features, so I think it will probably see pretty swift uptake. iOS 5 also provides a lot of nice features for a developer (like those zeroing weak references, which I believe are pretty important for ARC programming), so there's a good incentive on your end to require 5+.

-----

zoul 934 days ago | link

There is no reason to support anything earlier than iOS 4.3 for an app being released today.

For whatever reasons, some users still stick with older firmware versions. 100% of our userbase is iOSĀ 4+, but about 10% of it is below 4.3.

-----

Zev 940 days ago | link

There is no reason to support anything earlier than iOS 4.3 for an app being released today.

There's only one reason that I can think of: Verizon/CDMA iPhones only run iOS 4.2.x, and won't be on parity with GSM iPhones until iOS 5 comes out.

-----

mikeash 940 days ago | link

Good point, I forgot about that. I would argue that, with the small number of CDMA iPhones sold so far, and with iOS 5 just around the corner (maybe as early as next week), they can be ignored for this purpose.

-----




Lists | RSS | Bookmarklet | Guidelines | FAQ | DMCA | News News | Feature Requests | Bugs | Y Combinator | Apply | Library

Search: