5 ms·
64-bit and iOS 8 Requirements for New Apps
- wvenable 12y agoDoes this mean no new iOS apps for those people who choose not to upgrade to iOS 8?
- pretz 12y agoiOS 8 apps can still be built to support iOS 7
- megablast 12y agoXcode 6 lets you suppot iOS 5.1.1 without too much difficulty.
- Luyt 12y agoReally? That's good news. I still have an original iPad for which I want to write programs. 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.
- reverend_gonzo 12y agoDid you read the link? New apps must include 64-bit support. That's it. It says nothing about not allow backwards compatibility as well.
- wvenable 12y agoI read the link, I was focusing on the "built with the iOS 8 SDK" part. I'm asking the question whether or not building with the iOS 8 SDK would preclude that code from running on iOS 7 or is that only if that code uses iOS 8 features. I'm not sure why this is news otherwise.
- Osmium 12y ago> I'm not sure why this is news otherwise. 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.
- wvenable 12y agoI think HN has trained me to be very pessimistic about technology news. When I see a link posted like this without much commentary voted to the front page my first reaction is that it must be bad news.
- bradleyland 12y agoIf you pick up anything from HN, please don't let it be the pessimism :)
- marvy 12y agoIf they only have a gig of RAM, why does iOS bother with 64-bit support at all? Doesn't that increase memory pressure due to all the pointers being twice as big?
- Osmium 12y agoIt's a bit more complicated than that. There's a really good discussion here: http://www.sealiesoftware.com/blog/archive/2013/09/24/objc_explain_Non-pointer_isa.html http://www.sealiesoftware.com/blog/archive/2013/09/24/objc_e... and here: https://www.mikeash.com/pyblog/friday-qa-2013-09-27-arm64-and-you.html 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.
- joesmo 12y agoThey must be built with the iOS 8 SDK so unless that runs on previous versions of iOS, then new apps for previous iOS versions will not be supported.
- paxswill 12y agoYou can build against a higher SDK version than your minimum requirement with OS X/iOS. For example, your deployment target is OS X 10.7, but yo're building with the OS X 10.10 SDK. More info: https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/cross_development/Configuring/configuring.html https://developer.apple.com/library/ios/documentation/Develo...
- dozy 12y agoNo - it just means new iOS apps must support 64-bit and be built with Xcode 6. Those same binaries/archives can also support 32-bit and older OS versions. 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.
- wvenable 12y agoThanks for the reply. I'm not that familiar with iOS development but have a jailbroken iPhone on iOS 7.
- deleted 12y ago[deleted]
- tiffanyricks 12y agoThis makes sense to me and easier to maintain the code. I won't have to support older versions. And my app can take advantage of the 64bit architecture.
- bradleyland 12y agoI'm not sure why you'd say that. There's a lot of misinterpretation going on here. Read the text carefully (emphasis mine): > 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).
- 0x0 12y agoBuilding with a new SDK makes the app opt in to new behaviors even when targeting older iOS versions. This can be quite a hassle. Your perfectly working app - even when deployed on an iOS 8 device - will suddenly break in many fun ways merely from recompiling with a newer SDK: touch handling differs, margins may be weird, table headers vanish because various new methods aren't implemented, screen rotation suddenly gets enabled where you didn't expect, new keyboard metrics mess up your layout, etcetc. This happens because when the runtime detects that an app is built with an older SDK, it enables a bunch of compability behaviors that newly built apps cannot opt in to.
- jibberia 12y agoAh, it finally happened. My company has a legacy-ish SDK that all our products are built on, and because of bad decisions in the past (like extensive use of C macros) it essentially cannot be ported to 64-bit. Luckily we're already building the replacement, but this is going to accelerate the requirement of having to migrate data from the old system to the new one.
- fineline 12y agoIs there some problem with macros in the new SDK? Or is it that your macros are specific about word size?
- jibberia 12y agoThe latter.
- mackey 12y agoAt least it sounds like this only applies to new apps, not apps updates for apps that are already published. It would be great to get clarification on that though.
- verelo 12y ago64 bit is already a requirement, right? We submitted an update a few weeks back and it wouldn't pass verification without us adding 64 bit support (which took a few days of work - it added a few issues but nothing major, they were just tricky to track down) We're working on moving over to the iOS 8 SDK already. What a massive pain in the backside that is proving to be.
- apike 12y agoWe also hit this - it was a bug, and was fixed within a couple days. They are now rolling this out intentionally on Feb 1. 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.
- verelo 12y agoAh nice, now that is frustrating. We just ended up fixing it, where did you find it was a bug? I find the communication between Apple and the general developer community is pretty difficult to come by (even after millions of installs of our app)