Skip to main content
Flipline
Inspiring
May 3, 2018
Answered

AIR 30 dropping support for 32-bit in iOS apps

  • May 3, 2018
  • 11 replies
  • 25493 views

The latest AIR 30 Beta on Adobe Labs mentions a big change for releasing iOS apps with AIR:  You'll no longer be able to release iOS apps that contain both 32-bit and 64-bit versions as it's done by default for years, and instead will only be able to release 64-bit-only apps. 

This is a huge change for anyone with customers who still use the iPad 2, iPad 3, iPad 4, iPad Mini, iPhone 5, or iPhone 5C, since all of those devices require a 32-bit version to be included in the "universal" single app alongside the 64-bit version that newer devices will use.

To clarify, I know that Apple does not accept apps that are 32-bit-only anymore.  This is concerning apps that contain both 32-bit and 64-bit code in the same single app (allowing support for iOS 9 devices as well as iOS 10+ devices), which is what AIR has done in the past and which Apple currently accepts, and which AIR 30 is dropping support for.

My biggest concern is what will happen when we need to update any of our already-existing apps in the App Store with AIR 30.  Does Apple allow you to update an app with a build that removes support for platforms?  And if so, what happens to those customers who already purchased our apps and are using them on iOS 9 devices -- will it download the update and the game they paid for will suddenly break and stop working?  Does Apple recognize they're using a 32-bit device and will prevent them from downloading the update if the update only includes a 64-bit binary?

Also I'm curious if this is something mandated by Apple -- where in the future apps will only be accepted if they're 64-bit only and won't be accepted if they include both as they do now -- or if this is Adobe's decision to drop platforms.  I haven't seen anything in the Apple Developer news or updates about dropping support for 32-bit when it's bundled with 64-bit, and Xcode seems to still create both 32-bit and 64-bit versions by default as AIR 29 currently does.

Here's the info in the release notes here:

http://fpdownload.macromedia.com/pub/labs/flashruntimes/shared/air30_flashplayer30_releasenotes.pdf

Converting Universal iOS binaries to 64-bit and making IPA 64-bit

Prior to the AIR version 30, iOS applications were packaged as universal applications. To package a 64-bit iOS application MinimumOSVersion had to be set 11.0 in the application XML.

Starting AIR version 30, all iOS and tvOS applications would be made 64-bit only, irrespective of the MinimumOSVersion tag in the application XML. Packaging universal and 32-bit iOS applications would not be supported. ANEs could be packaged using universal as well as 64-bit only native frameworks, 32-bit native frameworks would not be supported for ANEs also.

Android packaging would remain unaffected.

This topic has been closed for replies.
Correct answer chris.campbell

Based on this thread and others, and after regrouping internally, our plan is to revert the 64-bit only restriction when publishing for iOS.  Our next AIR beta (hopefully out in the next few days) will return functionality to create universal targets for iOS just like you could with AIR 29 (and it'll have the ad hoc fix that many of you are waiting on).

We do not plan on re-implementing this restriction in the near future, but when we do we'll make sure to provide plenty of advanced notice so no one is taken by surprise.  In hindsight, we should have squared away the issues with AIR 29 before making a significant change like this.  Thank you everyone for the feedback.

11 replies

Known Participant
May 12, 2018

If someone could please post on this thread as soon as the new hybrid Air 30 beta is out - i'm eager to try it!

Also, if there is a way for Adobe to contact us by email on important Air issues in the future please let us know.

Thanks

Inspiring
May 13, 2018

Flashmonkey500, I don't know if Adobe has a built in system for doing this, but I would put my email address on a mailing list if we could get important AIR information or updates in a heartbeat.  Great suggestion!

Inspiring
May 16, 2018

As far as I know you can get an email for messages on this thread. So you will know when the new SDK is available.

chris.campbell
Community Manager
chris.campbellCommunity ManagerCorrect answer
Community Manager
May 9, 2018

Based on this thread and others, and after regrouping internally, our plan is to revert the 64-bit only restriction when publishing for iOS.  Our next AIR beta (hopefully out in the next few days) will return functionality to create universal targets for iOS just like you could with AIR 29 (and it'll have the ad hoc fix that many of you are waiting on).

We do not plan on re-implementing this restriction in the near future, but when we do we'll make sure to provide plenty of advanced notice so no one is taken by surprise.  In hindsight, we should have squared away the issues with AIR 29 before making a significant change like this.  Thank you everyone for the feedback.

Frédéric C.
Inspiring
May 9, 2018

Oh my god, that's such a relief! Last days have been pretty stressful for us . Thank you for your understanding Chris. I'm so happy to still be able to use this wonderful framework. Keep up the amazing work!

Inspiring
May 8, 2018

I just checked our stats from iTunes and we're looking at approximately 20-25% of sales in the last 90 days still on 9.3. I really don't want to lose those sales.

We could continue to release updates using AIR 29, but the way things have gone in the last few weeks, with Apple changing their submission requirements, I'm not confident that this would be workable beyond the very short term; unless Adobe supported a legacy 29 with fixes as well as the current version.

Known Participant
May 8, 2018

I agree. I'm also one of those types who don't feel the need to upgrade my iPad or iOS above 9.

Can you tell me where in iTunes I can see the iOS versions our users have? I couldn't find that info. Thanks

cybobear
Inspiring
May 8, 2018

Agree as well. I think it was @William Spence that brought up the strong point that many educational institutions for reasons I personally would disagree with, may have chosen iOS devices, like iPads, which age like the rest of us. For Adobe to preemptively cut support to these users, especially before Apple does, is, well a selfish move imo.

We're always talking about 5% market share or 20% market share, but is that all it's really about? There are potentially cases where educational apps are used by kids in rural communities that struggle with funding and can be profoundly affected by decisions like this. With the % math of how many users out of millions they get lost. They may only be 100 or 200 kids but when they're told their iPads won't work and they need to raise funds for new ones - is that really fair, is that how we want our technology, our software, to enable and enrich?

Was it a poor choice for someone to choose Apple devices in that scenario, maybe, but that happens. This gets to a larger discussion about Apple and it's own brand identity, which is sort of like a Cadillac, and as we saw with the recent battery issue, there appears to be some planned obsolescence going on (not the only tech player that's doing this I'm sure). They have their reasons. But really if you step back, having the latest, greatest, fastest hardware doesn't really change the content and quality of the app. If the app is doing some powerful A.I. computation / modelling or is all about the latest graphics maybe, but that's not what most really useful apps do. It's certainly not the case with educational apps. So if I was sourcing for educational settings I think I'd look for the Toyota Corolla (support and hardware-wise) instead of the Cadillac. Just my two cents on that. All this deprecation of hardware is also terrible for the environment.

I got a bit tangential from the thread there for awhile - this thread was very active and I've been thinking about it a lot. Just wanted to share some thoughts.

ejthomas95746
Participating Frequently
May 7, 2018

My concern about this decision is only in the timing. When Adobe open-sourced Flex and when they sunsetted Flash they gave us timelines so we could plan and adjust.

This decision is every bit as impactful to our business, and I sincerely hope that Adobe will reconsider their decision and support 32/64 for a little while longer and give us a time to adjust. Perhaps keep it the next two AIR releases and make an announcement that, for example, AIR 32 or 33 will be 64-bit only.

We just need a little time is all. This sort of change is inevitable and we don't oppose the 64-bit only decision per se, but please give us a little time to plan this transition. Others have also shared that it may be a bit too early to alienate iPhone 5 and iPad 4G users. We do indeed have users on those devices. Perhaps another year would be a better decision, but we'll take what we can get.

Thanks for your consideration, Adobe.

cybobear
Inspiring
May 7, 2018

Honestly, don't even read zwetan_uk's posts, he's redundant and ignores what's being said. It's just going to hurt your brain. The guy is seriously obtuse. zwetan_uk, for a guy with some pretty terrible English it's cute how condescending you are. I bet you fail hard at most interviews.

Inspiring
May 7, 2018

cybobear  wrote

Honestly, don't even read zwetan_uk's posts, he's redundant and ignores what's being said. It's just going to hurt your brain. The guy is seriously obtuse. zwetan_uk, for a guy with some pretty terrible English it's cute how condescending you are. I bet you fail hard at most interviews.

Please try to avoid personal attacks. This goes for everyone replying here. Stay on topic and ignore anyone who isn't helpful. Everyone who has replied here is getting notifications, so let's try to keep the signal high and the noise low.

cybobear
Inspiring
May 7, 2018

I hear you, but the guy talks disrespectfully to other users and needs to be called out. Secondly, the signal I'm sending is don't waste your time reading his posts because he's just repeating himself ignoring the obvious points others are making. To be clear, I'm not saying I presume he fails at most interviews because of his bad English, I would never be prejudice in that way, I'm presuming he would fail due to his deplorable personality. Providing he doesn't continue to demean other users to desperately try to sell his point a view, I won't say anything.

Inspiring
May 7, 2018

If I got it right:

- Exporting for 64bit with AIR 30, means older 32bit processor devices will not get an app update right? Makes sense.

What do you mean by only new apps? Will apple reject an app update made with AIR 30 and will need a new bundle ID?

Thank you

cybobear
Inspiring
May 6, 2018

Agree this is a BAD choice for Adobe air. This is shown by the fact that xcode creates a hybrid 32/64 ipa by default to support 32bit devices as well. It seems that Adobe should try to support 32bit up to the point that those devices are considered deprecated. I don't think iPhone 5 especially would be considered deprecated at this point. It's likely a resource and hours billable thing. I would imagine that for the SDK developers every fix and change they make needs to be done twice for each architecture, making it require twice the hours to build. That's a guess. If it's not the case and much easier it would baffle me why they would do this. I think until that graph shows < 5% users affected, they shouldn't even consider such a move.

Inspiring
May 6, 2018

your concern is futile ...

late 2013 Apple began asking developers to submit 64-bit apps

since February 2015, all new apps submitted to the app store must include 64-bit support


since June 2015, all app updates submitted to the app store must include 64-bit support

since 24 October 2016 iOS 10.1 added a 32-bit warning
eg. "Name of your App" is Not Optimised for iOS 10
This app has not been updated to 64-bit. Using it may affect overall system performance.

27 March 2017 with iOS 10.3 release Apple added the feature to list all

installed 32-bit apps that won't work in future iOS versions

since iOS 11 released in September 2017, 32-bit app are not supported or shown in the app store
if users attempt to open a 32-bit app they receive an alert about the app incompability

Either your app is already supporting 64-bit or you did not update your iOS app in years, and that's your fault really.

Also, if you go to the App Store Support page

App Store - Support - Apple Developer

you can see this

Other sites show
iOS Distribution and iOS Market Share

about 82% of iOS 11
about 11% of iOS 10
about 6% of older iOS

You will more certainly lose customers if your app is supporting only 32-bit

that part "Please be aware that devices that can only use 32-bit apps are a BIG portion of the iOS market"
I'm not sure where you get those numbers but they are wrong

Frédéric C.
Inspiring
May 6, 2018

zwetan_uk​ I think there is some confusion here. We're not asking to be able to create 32bit only apps, we're asking to still be able to publish hybrid 32-64bits apps containing both versions of the code. Else it would greatly reduce the range of devices that we can publish to. This hybrid 32-64 bits format is currently perfectly supported by Apple on iOS devices and doesn't bring any error message (the error message is for 32bit ONLY apps).

iOS 10 is compatibe with iPad 4 or iPhone 5/5c for example, which have a 32bit CPU. If we can only publish 64bit apps, it means we potentially lose 24% of devices, which have a 32bit CPU and are stuck to iOS 10 or below (if we look at the chart you included in your post). So this is far from futile!

And on top of that, Apple's policy is to reject updates that reduce the range of devices an app already supports. So if you published an app with AIR 29 or below on the store, which supported both 32bit and 64bit CPU devices, and then you update an app using AIR 30 that only supports 64bit devices, it is likely the update will be rejected! (see previous posts in that thread) That means that if you want to keep updating existing apps, you have to stick to AIR 29, which is known to have issues with generated IAPs (AIR 30 includes fixes for that). This is a mess!

So when we ask to keep 32-64bits hybrid support, it is absolutely not a request from a bunch of narrow minded developers who don't want to follow the trends. It is because this choice will have a very serious impact, both on the range of supported devices, and the technical solutions we will have to maintain our existing apps on the store.

Inspiring
May 6, 2018

https://forums.adobe.com/people/Fr%C3%A9d%C3%A9ric+C.  wrote

...

And on top of that, Apple's policy is to reject updates that reduce the range of devices an app already supports. So if you published an app with AIR 29 or below on the store, which supported both 32bit and 64bit CPU devices, and then you update an app using AIR 30 that only supports 64bit devices, it is likely the update will be rejected! (see previous posts in that thread) That means that if you want to keep updating existing apps, you have to stick to AIR 29, which is known to have issues with generated IAPs (AIR 30 includes fixes for that). This is a mess!

So when we ask to keep 32-64bits hybrid support, it is absolutely not a request from a bunch of narrow minded developers who don't want to follow the trends. It is because this choice will have a very serious impact, both on the range of supported devices, and the technical solutions we will have to maintain our existing apps on the store.

No, you're confusing how apps are updated on the app store.

see Apple Technical Q&A QA1623

eg. Target a newer version of iOS that requires a newer device. See Targeting the Latest iOS for details.

and then

Targeting the Latest iOS

An update to an app can always require a newer version of iOS. This will drop support for devices that cannot run that version of iOS.

The "iOS Deployment Target" build setting is the minimum version of iOS your app supports. Your app cannot be installed or run on any device that cannot run that version of iOS.

This is "by design", Apple want you to do like that.

if previously your app was build only for 32-bit or hybrid 32-bit/64-bit
you can "downgrade" to 64-bit only (eg. arm64, removing armv7 in UIRequiredDeviceCapabilities)

and you do that by setting the the minimum version of iOS your app support

see iOS Keys

arm64 - Include this key if your app is compiled only for the arm64 instruction set. - min iOS 9.0

Frédéric C.
Inspiring
May 4, 2018

Adobe Team, I'm one of your greatest supporters, but this 64bit-only decision is a VERY bad move!

If you keep it that way, we'll then be in a terrible situation, and only have bad choices:

- either stick to AIR 29 for maintenance, but IPAs generated by the latest AIR 29 SDK are not compliant with Apple's review policies

- or use AIR 30, and discard a big portion of our targeted devices and consumers.

In all cases, and as explained above, it is likely we won't be able to update our existing apps, as both SDKs could create problems with Apple.

It is a very bad move to make a release that both fixes critical issues and introduces such great limitations at the same time. At least, we would need a fixed AIR 29 SDK. But please, consider keeping support for 32bit devices in future AIR versions, I think it is much too early to drop support for them. We invested a lot in the AIR technology, mainly because it was able to publish on so many devices and platforms. Removing 32bit support would really be a big step backwards, and make AIR much less attractive for iOS publishing.

Thank you for your consideration.

Amrita Gangwani
Adobe Employee
Adobe Employee
May 4, 2018

Hi,

Starting macOS 10.13.4, an alert message could be seen when trying to run 32-bit software. As per the Apple's document 32-bit app compatibility with macOS High Sierra 10.13.4 - Apple Support , 32-bit software will not be compatible with macOS in the future. The decision to remove packaging of 32-bit iOS applications has been made keeping in mind the future possibilities.

Thanks!

Frédéric C.
Inspiring
May 4, 2018

Hi Amrita,

Thanks for the link. But isn't this article related only to MacOS, and 32bit only apps? AIR SDK used to generate hybrid 32-64bits IPAs, so I suppose the OS won't complain if there is at least the 64bit version of the code included in the IPA, right?