64-bit and iOS 8 Requirements for New Apps(developer.apple.com) |
64-bit and iOS 8 Requirements for New Apps(developer.apple.com) |
We're working on moving over to the iOS 8 SDK already. What a massive pain in the backside that is proving to be.
This is a challenge for us because we use a large 3rd party library (WebRTC) that has a bunch of armv7 assembly in it, but Feb 1 should be enough time to get it sorted.
> new iOS apps uploaded to the App Store must include 64-bit support and be built with the iOS 8 SDK
You must include support for these items. There is no suggestion or requirement that a developer not support iOS7 (or iOS 6 for that matter).
This also only affects new apps. So basically:
* This only applies to new apps [1].
* This only requires that new apps include support for iOS 8 [2] and 64-bit.
* Developers can still support older versions of iOS.
That's just the basic breakdown of Apple's expectations. Your customers might still demand support for older iOS versions, so this isn't much of a change as far as legacy support goes.
1: I suppose it is open to interpretation whether "new iOS apps uploaded to the App Store" includes updated versions of older apps. It doesn't sound like that to me though.
2: Just because you use the iOS 8 SDK doesn't mean you can't/don't support earlier iOS versions. Quite the opposite actually, as iOS SDKs have specific provisions for supporting older versions (note, I'm not an iOS dev, but this is what I hear).
Similarly, today, you must build your app using at least the iOS 7 SDK and xcode 5, but that does not prevent you from supporting iOS 6 as well.
New apps must include 64-bit support. That's it. It says nothing about not allow backwards compatibility as well.
I'm not sure why this is news otherwise.
Can you explain shortly how to make Xcode 6 build iOS 5.1 apps? Or do you have a link? I haven't been succesful in googling it.
More info: https://developer.apple.com/library/ios/documentation/Develo...
One reason is that, I believe, currently if even a single 32-bit app is loaded on a newer iOS device, all the standard 32-bit libraries have to be loaded into memory as well which causes increased memory pressure. This is a problem given that current iOS devices only have 1 GB of RAM. Getting older apps migrated to 64-bit is therefore a big deal for this reason alone.
http://www.sealiesoftware.com/blog/archive/2013/09/24/objc_e...
and here:
https://www.mikeash.com/pyblog/friday-qa-2013-09-27-arm64-an...
Basically, as I understand it, 64-bit pointers on iOS can actually act to decrease memory pressure because the extra bits can be used to store object class information that would otherwise have to be stored separately.
There are many ways and reasons why changing your build target may affect your app, so much so that's it's far beyond the scope of a hackernews thread. Supporting 64-bit, although introduced a while ago already with with iPhone 5S, can present some tricky bugs, also too much to explain here.
It's also meta-interesting as it shows the pace at which Apple wants app developers to adopt the new APIs, and will ultimately result in a more modern/ios 8 friendly app landscape.
EDIT: somebody else noted that you can likely still target earlier versions, which on the whole makes this much less interesting.