4 ms·
We have a pretty good idea. As soon as iOS 5 goes GM, we'll be able to use Xcode 4.2 (and ARC) to submit apps. With the rumoured announcement next week, iOS 5 s
by mcobrien 15y ago
We have a pretty good idea. As soon as iOS 5 goes GM, we'll be able to use Xcode 4.2 (and ARC) to submit apps. With the rumoured announcement next week, iOS 5 should be GM in the next week or two.
In any case, if you're reading an introduction to Objective-C today, you're probably not going to be submitting anything to the App Store in the next fortnight.
- jbjohns 15y agoBut will apps made with Xcode 4.2 and ARC run on older iOS versions? I mean, my understanding was that ARC was a compile time thing, so there should be no difference in an ARC app and a non-ARC app (except the ARC one probably has less bugs) but I've heard others talk about needed runtime support.
- mikeash 15y agoARC 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 15y agoThanks 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 15y agoThis 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 15y agoThere 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 15y agoThere 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 15y agoGood 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.