Copy link to clipboard
Copied
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.
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
...Copy link to clipboard
Copied
https://forums.adobe.com/people/William+Spence wrote
... 25% of the market still uses 32-bit iPads.
No, your number is wrong or you're confusing what is a 32-bit iPad
check the timeline here
What the death of 32-bit iOS could mean for Apple’s hardware and software | Ars Technica
check the different iPad models
iPad - Wikipedia
32-bit only hardware are: iPad 1st gen, iPad 2, iPad 3rd gen, iPad 4th gen, iPad Mini 1st gen
they are all not only discontinued but also unsupported by Apple.
all the other models have at least an A7 SoC (or better) which is 64-bit and so do support 64-bit iOS and apps
let's say if a user installed a 32-bit only or 32-bit/64-bit hybrid apps on an iPad Air or iPad Mini 2 or iPad Pro 1st gen,
as long as they have updated to minimum iOS 9 the app can be updated to 64-bit only
if you don't get that I'm not sure you will ever get it
Copy link to clipboard
Copied
I understand that iOS 11 is 64-bit. I understand all new Apple Mobile devices are 64-bit. I understand that all new software released on this operating system should be 64-bit.
What I think you seem to not be getting is that the App Store is still supporting releasing new and updated 32-bit apps for their older devices, despite the fact that they do not support the devices with new operating system updates. Apple is still making a lot of money off of guys like you and me that have to pay 30% for in-app purchases and other expenses on these 32-bit apps.
Though the operating system will no longer be updated for 32-bit iOS devices, the App Store has made no recent announcements that they will no longer allow 32-bit or hybrid apps into the app store for their older devices, and until they do, Adobe should continue to support their user base that depends on this ability.
If you have a child in school using an older device that has an educational AIR app on it, you won't be able to update or support that app anymore for the school. If you are trying to invest in real estate using an AIR app, but you have an older 32-bit iPad, you will no longer be able to get any new updates to the investment app. If you have a health issue that uses an AIR app, but you only have a 32-bit iPad, you will no longer be able to recieve new updates for your health program.
This is a serious problem for a lot of developers and users. Do you get that?
Copy link to clipboard
Copied
https://forums.adobe.com/people/William+Spence wrote
What I think you seem to not be getting is that the App Store is still supporting releasing new and updated 32-bit apps for their older devices, despite the fact that they do not support the devices with new operating system updates. Apple is still making a lot of money off of guys like you and me that have to pay 30% for in-app purchases and other expenses on these 32-bit apps.
No, if you to try to submit a 32-bit only app (either new or update) on the app store, it will be rejected, plain and simple.
But let's try with images as it seems you don't understand text
If you don't switch to a newer app, or if the existing 32-bit app doesn't get updated to 64-bit in time,
the app will simply not work on the apple device after you upgrade to iOS 11, and it will be removed from the app store.
If you try to run a 32-bit app under iOS 11 you will get a warning like that and the app will not run at all
All that was announced a WWDC 2017, it's not new.
Copy link to clipboard
Copied
zwetan_uk wrote
No, if you to try to submit a 32-bit only app (either new or update) on the app store, it will be rejected, plain and simple.
Why do you keep bringing this up? Nobody is trying to submit a 32-bit only app. We're only talking about 32+64-bit hybrid apps here. Apple says you must "support 64-bit", which hybrids apps do. "Support 64-bit" is not the same thing as "only 64-bit".
Copy link to clipboard
Copied
Let me try to help William. I'll use short sentences since zwetan is pretty condescending in his poor communication. I think he gets a bit lost.
Here zwetan, point form for you with minimal punctuation:
- Apple allows 32 bit + 64 bit hybrid apps to be submitted currently to continue to allow 32 bit devices access to new apps and updates, even if it doesn't support 32 bit only going forward, in fact, I don't see a use case of only submitting 32 bit apps
- iOS 11, which isn't supported on 32 bit devices, does not support 32 bit apps
- devices that don't support iOS 11 are still in use
- developers want the ability to still support 32 bit devices as xcode currently still does
Let me know if you need pictures zwetan. Also, maybe try decaf.
Copy link to clipboard
Copied
zwetan_uk wrote
No, if you to try to submit a 32-bit only app (either new or update) on the app store, it will be rejected, plain and simple.
But let's try with images as it seems you don't understand text
Well, this last sentence proves you are just trolling and being rude to people for no reason! EVERYONE here is explaining to you in detail that Apple will still allow for quite some time 64+32 bit hybrid apps, but you keep on insisting that Apple doesn't allow 32-bit only apps, which NOBODY has asked for!
We're all just asking Adobe to keep support for hybrid (64+32 bit) apps, NOT 32-BIT ONLY apps!
So if you're really not trolling it's YOU the one not "understanding text" as you put it. So, please stop insisting on this, and if you really feel like trolling and wasting other people's time, then go somewhere else. Here we are app developers trying to get work done and we don't have time for futile discussions like this one.
Copy link to clipboard
Copied
Sorry, my bad, I'm used to talk to professional software developers,
I guess, with that crowd, I need to explains things in a more obvious dumb-proofed way.
Apple clearly announced their transition to support only 64-bit devices and apps
see WWDC 2017 Videos and Slides
see in particular WWDC 2017 Platforms State of the Union
What happen to 32-bit apps ?
they need to be updated to either hybrid (32-bit + 64-bit) apps
or 64-bit only apps, if they are not updated they will be removed from the app store
What happen to 32-bit devices ?
they will not get any updates as they are not supported anymore by Apple
What are the 32-bit devices not supported anymore?
iPad 1st gen, iPad 2, iPad 3rd gen, iPad 4th gen, iPad Mini 1st gen
As of today, what is the market share of those unsupported 32-bit devices?
about 6%
What to say to customers still using those unsupported devices?
something like
"Because of Apple decision to support only 64-bit devices,
we can not provide anymore updates for your device"
What happen if you try to run a 32-bit app?
under iOS 11 it does not run
under iOS 10 it get a warning that this app will not be able to work in the future
It is useless to keep supporting hybrid (32-bit + 64-bit) apps
Why?
Because Apple only allow 64-bit devices to get app updates
What is the difference between providing an hybrid (32-bit + 64-bit) app update
and a 64-bit only app update?
If your app is only 32-bit, which means you did not updated it for a long time,
providing an hybrid (32-bit + 64-bit) app update is a smoother transition.
If your app is already an hybrid (32-bit + 64-bit) app,
providing a 64-bit only app update allow a smaller IPA
and prevent to provide updates to 32-bit devices
(which is something you want as those devices are not supported anymore).
Is it possible to update an hybrid (32-bit + 64-bit) app to 64-bit only?
Yes, see Apple Technical Q&A QA1623
you just need to define the minimum "iOS Deployment Target" to iOS 9
"I'm really confused, I'm just using AIR what should I do?"
if you published long time ago an iOS app and either never updated it
or not sure about this 32-bit/64-bit thingy
use AIR 29 SDK and publish an updated app ASAP
Later, use AIR 30 SDK and keep updating your app
Copy link to clipboard
Copied
It is useless to keep supporting hybrid (32-bit + 64-bit) apps
Why?
Because Apple only allow 64-bit devices to get app updates
Where did you see that exact statement from Apple? All I see in your slides is that Apple require at least that all apps support 64bits, with a 64bits version of the code inside the app. They don't say that it has to be 64bits ONLY.
If what you say about 32bits devices not receiving updates was true, why Apple would still accept hybrid apps submissions? They would simply say: "Now that 32bits devices won't receive any updates, all submitted builds must be 64bits only". But I never saw such a statement from them.
Moreover, you forget people who don't use the App Store to deploy apps (this is why the AdHoc distribution mode exists, right?). It has been said many times in this thread that some developers targeted schools or companies that still use 32bits devices, and since XCode still allows this kind of build, why remove it from AIR?
Copy link to clipboard
Copied
https://forums.adobe.com/people/Fr%C3%A9d%C3%A9ric+C. wrote
Where did you see that exact statement from Apple? All I see in your slides is that Apple require at least that all apps support 64bits, with a 64bits version of the code inside the app. They don't say that it has to be 64bits ONLY.
Are you joking?
Apple just announced hat macOS High Sierra will be the last OS to support 32-bit app
and before they announced that iOS 11 will not run 32-bit apps at all
again, watch the WWDC 2017 part where they talk about 64-bit
it's all there from the Apple official mouth
https://forums.adobe.com/people/Fr%C3%A9d%C3%A9ric+C. wrote
If what you say about 32bits devices not receiving updates was true, why Apple would still accept hybrid apps submissions? They would simply say: "Now that 32bits devices won't receive any updates, all submitted builds must be 64bits only". But I never saw such a statement from them.
the hybrid app submissions are only here to allow dev to update their 32-bit only apps
case where a customer bought the app in 32-bit on a 32-bit hardware
then updated their hardware to 64-bit and so they can install the app in 64-bit
https://forums.adobe.com/people/Fr%C3%A9d%C3%A9ric+C. wrote
Moreover, you forget people who don't use the App Store to deploy apps (this is why the AdHoc distribution mode exists, right?). It has been said many times in this thread that some developers targeted schools or companies that still use 32bits devices, and since XCode still allows this kind of build, why remove it from AIR?
then there is no problem
if you distribute app outside of the app store you don't depend on Apple to accept or reject the app
you can publish with any version of AIR supported on the 32-bit devices
you do need AIR 29 to submit an app on the Apple app store,
but for entrerprise SDK, adhoc, etc. you can use earlier AIR SDK as there is no app store submissions
Copy link to clipboard
Copied
I do agree with zwetan_uk, while I do understand everyone concerns, it was your job for the past few years to get your apps ready for 64bits only.
There was never any doubts ever that Apple will one day force 64bits only and they gave us years of warnings which for Apple is almost unheard of. Apple policy is simple and has never changed: Buy new device or get no apps.
Now many here are complaining that the deadline is approaching and that Adobe is following along earlier than necessary, that is not correct and that's not the reality.
Adobe gave you AIR29 for all people that are still not ready (or don't want to be) for 64bits only
Adobe gave you AIR30 and above for all people that are ready for what comes next and is inevitable with Apple.
Yes that might mean publish your 64bits only as a new app, big deal, anyone with years of Android and Ios development had to do that a few times.
There are no issues here, Adobe gave you the means to do just what you ask and they didn't even have to. Now they are correctly focusing on what comes next and the earlier the better, good job Adobe and please do not put any extra work (and money) into supporting 32bits.
Copy link to clipboard
Copied
zwetan_uk wrote
It is useless to keep supporting hybrid (32-bit + 64-bit) apps
Why?
Because Apple only allow 64-bit devices to get app updates
This is wildly untrue, and as an AIR developer I'm shocked that you don't realize this is not true. I just updated a hybrid app weeks ago, and 32-bit devices were able to get the app update as well as 64-bit devices. It was a hybrid 32+64-bit app, and well, that's how they work by design.
ASWC​ can you point us to specific documentation from Apple that claims all apps for iOS will need to be 64-bit-only at some point? All zwetan_uk has shared are articles from 2015 saying you must support 64-bit as well as 32-bit together in the same app, which AIR has been doing since 2015. Nobody is arguing that we need to support 32-bit-only apps, both Adobe and Apple made that impossible years ago.
Copy link to clipboard
Copied
"can you point us to specific documentation from Apple that claims all apps for iOS will need to be 64-bit-only at some point?" It blows my mind that you are asking me this, it really does but before I answer this could you answer this first: "Do you believe it's possible Apple will probably never drop support for 32bits app on Ios?"
Also note: If your answer is "no" then why did you ask me that question in the first place?
Copy link to clipboard
Copied
No need to get rude, I've seen a few people claiming that Apple has specifically announced that apps must be 64-bit-only for iOS (not talking about Mac here), and I'd like to see that Apple has in fact specifically made that statement, or if people are just saying this because it supports their argument. I'm sure the trajectory is that Apple will eventually drop support for more and more devices, but I haven't seen them announce support will be dropped at a specific point (next week, next month, next year). Yes, eventually they will fully drop support for 32-bit devices, just like eventually they will fully drop support for iPhone 7 and 8 and X years from now, but that doesn't mean I'm going to stop supporting them before I'm required to.
Copy link to clipboard
Copied
Flipline wrote
No need to get rude, I've seen a few people claiming that Apple has specifically announced that apps must be 64-bit-only for iOS (not talking about Mac here), and I'd like to see that Apple has in fact specifically made that statement, or if people are just saying this because it supports their argument. I'm sure the trajectory is that Apple will eventually drop support for more and more devices, but I haven't seen them announce support will be dropped at a specific point (next week, next month, next year). Yes, eventually they will fully drop support for 32-bit devices, just like eventually they will fully drop support for iPhone 7 and 8 and X years from now, but that doesn't mean I'm going to stop supporting them before I'm required to.
I was not being rude, your question really blew my mind but with this reply you set the record straight, you DO KNOW Apple will be dropping support altogether for 32bits on Ios like anyone else. Sure nobody knows when but we do know pretty much it won't be next month and it will be during the next 5 years (I personally predict 2019).
The reason we all know that is because Apple policy has always been simple, drop support for anything old to force people to buy new stuff and you know that as much as I do and same goes for app publishing, they do not want the same app sitting on the app store for years, drop support for old OS so people are forced to download the new one, ect ... Apple is in complete control of their own market and you know it and they don't shy away from imposing what they want, 64bits only is coming and soon and we all know it so personally I applaud Adobe for trying to stay ahead for a change.
Copy link to clipboard
Copied
I've seen a few people claiming that Apple has specifically announced that apps must be 64-bit-only for iOS (not talking about Mac here), and I'd like to see that Apple has in fact specifically made that statement
As far as I can tell, Apple is not requiring 64-bit only apps on any platform. I've not seen any policy updates from Apple that forbid universal apps that support both 64-bit and 32-bit architectures. Soon, 32-bit only apps will not be allowed on macOS. I believe that a similar policy has been effect for a while now where 32-bit only apps were not allowed on iOS.
The concerns brought up in this thread are completely valid, as I understand it. Developers will be in a bad place if Adobe AIR goes 64-bit only on iOS, and it's not their fault in any way. According to the Apple policy previously cited in this thread, if an iOS app already supported 32-bit devices, it cannot be updated with a new build that supports only 64-bit devices. To update this app, it must be a universal app that supports both 32-bit and 64-bit devices. With the current version of AIR 30, that seems to be impossible, which is a serious issue.
Copy link to clipboard
Copied
Why a "serious issue"? We can publish our new updated 64bits only as new apps which is something many have had to do before for number of reasons anyway. It's annoying sure but really serious issue?
Copy link to clipboard
Copied
"We can publish our new updated 64bits only as new apps"
Does that mean new bundle ID?
Copy link to clipboard
Copied
Technical Q&A QA1623: Why am I getting device support errors when uploading my app?
PippoApps​
You could target a newer version of iOS, eg 11 instead of 9
Or continue to build using AIR 29 SDK.
Q: Why am I getting an error about supporting previous devices when I upload an update of my app?
A: iTunes Connect does not allow uploading an updated version of an app when the update runs on fewer devices than the version of the app currently in the App Store. This is by design.
An update to an app must work for every customer who has already purchased the app, and is running a current version of iOS.
Developers who wish to issue updates, but remove device support, have three choices:
Copy link to clipboard
Copied
Thank you,
so
Seems like Apple will accept the update, and notify only users of the new iOS right?Makes sense. Other than that, AIR 29.
Copy link to clipboard
Copied
I decided to go back and review the whole thread again to make sure that I didn't misread anything the first time. I may have misunderstood some things. Apologies, especially to ASWC.
el111 wrote
An update to an app must work for every customer who has already purchased the app, and is running a current version of iOS.
Developers who wish to issue updates, but remove device support, have three choices:
- Target a newer version of iOS that requires a newer device. See Targeting the Latest iOS for details.
Does this indicate that a current universal app that supports both 32-bit and 64-bit architectures can be updated to 64-bit only without changing the bundle ID as long as it targets a version of iOS that doesn't support 32-bit devices anymore? If that's the case, users with old 32-bit devices would be stuck on an old version, but users with 64-bit devices would still get updates to the existing app. Right?
I was under the impression that no apps originally built with AIR 29 or older could be updated with AIR 30 or newer because Apple's policy is that you can't drop support for older devices. However, it seems that Apple allows you to exclude devices that can't upgrade to the minimum version of iOS that you are targeting. If that's the case, then this is not as serious an issue as I originally thought.
(Don't get me wrong, if Apple still allows you build universal apps that also support 32-bit devices in Xcode, I think AIR should continue to support that too. However, I'd also understand if the AIR team didn't have the resources to continue to support the dwindling number of 32-bit iOS devices still in use.)
Considering how easily this gets confusing, I think the AIR 30 release notes need to include more details. If I want to update an existing AIR app that was released before AIR 30, do I need to do anything to set the minimum iOS version in my AIR application descriptor when I repackage with AIR 30? Or does AIR 30 do everything automatically? If it doesn't happen automatically, the release notes absolutely need to include instructions on how to do it manually. Even if it is automatic, the release note should probably say that explicitly to avoid any more confusion.
Copy link to clipboard
Copied
https://forums.adobe.com/people/Josh+Tynjala wrote
Does this indicate that a current universal app that supports both 32-bit and 64-bit architectures can be updated to 64-bit only without changing the bundle ID as long as it targets a version of iOS that doesn't support 32-bit devices anymore? If that's the case, users with old 32-bit devices would be stuck on an old version, but users with 64-bit devices would still get updates to the existing app. Right?
According to Apple in their Technical Q&A 1623, that's only true if you don't make any changes at all to UIRequiredDeviceCapabilities between versions:
Since AIR 30 has a completely different set of UIRequiredDeviceCapabilities ("arm64" in AIR 30, vs. "armv7"+"opengles_2" in AIR 29 builds), our app updates will likely be rejected even if we set the MinimumOSVersion to 11.
Copy link to clipboard
Copied
https://forums.adobe.com/people/Josh+Tynjala wrote
I decided to go back and review the whole thread again to make sure that I didn't misread anything the first time. I may have misunderstood some things. Apologies, especially to ASWC.
el111 wrote
An update to an app must work for every customer who has already purchased the app, and is running a current version of iOS.
Developers who wish to issue updates, but remove device support, have three choices:
- Target a newer version of iOS that requires a newer device. See Targeting the Latest iOS for details.
Does this indicate that a current universal app that supports both 32-bit and 64-bit architectures can be updated to 64-bit only without changing the bundle ID as long as it targets a version of iOS that doesn't support 32-bit devices anymore? If that's the case, users with old 32-bit devices would be stuck on an old version, but users with 64-bit devices would still get updates to the existing app. Right?
I was under the impression that no apps originally built with AIR 29 or older could be updated with AIR 30 or newer because Apple's policy is that you can't drop support for older devices. However, it seems that Apple allows you to exclude devices that can't upgrade to the minimum version of iOS that you are targeting. If that's the case, then this is not as serious an issue as I originally thought.
(Don't get me wrong, if Apple still allows you build universal apps that also support 32-bit devices in Xcode, I think AIR should continue to support that too. However, I'd also understand if the AIR team didn't have the resources to continue to support the dwindling number of 32-bit iOS devices still in use.)
Considering how easily this gets confusing, I think the AIR 30 release notes need to include more details. If I want to update an existing AIR app that was released before AIR 30, do I need to do anything to set the minimum iOS version in my AIR application descriptor when I repackage with AIR 30? Or does AIR 30 do everything automatically? If it doesn't happen automatically, the release notes absolutely need to include instructions on how to do it manually. Even if it is automatic, the release note should probably say that explicitly to avoid any more confusion.
I got a lot of conflicting information here but my stance was mostly motivated on the assumption that AIR29 was usable to publish 32/64bits apps, which some say it can't cos it's broken, some say it can cos it works fine. I heard some say it's broken cos it can't do adhoc but that's irrelevant for publishing, if there's a real issue for publishing apps with AIR29 then this is a serious problem as you said, if we can publish with AIR29 just fine (not talking about adhoc problem) then we should be good to go.
Copy link to clipboard
Copied
ASWC, what type of apps are you currently making where you can so easily disregard the number of people that are still using 32-bit iPads? There are a ton of them because Apple makes a solid product. My business model does not allow me to exclude anyone, I absolutely must have every customer I can get my hands on.
Until Apple turns every 32-bit mobile device into an expensive paper-weight, I can't afford to quit supporting them. But Apple didn't turn 32-bit mobile devices into paper-weights, Adobe is, and they don't need to yet.
Copy link to clipboard
Copied
ASWC wrote
Why a "serious issue"? We can publish our new updated 64bits only as new apps which is something many have had to do before for number of reasons anyway. It's annoying sure but really serious issue?
I'd call that much more than annoying. You're saying that thousands of AIR developers that want to update their apps that were originally built with AIR 29 or below will each need to publish a completely new app instead of updating their existing app? They'll need to try their best to inform their existing users that they need to uninstall the existing app and download the new app instead. They'll definitely get stuck with a ton of users on an old version. Some will abandon the app because it's too much effort to search for the new version, even if they liked the app.
If the app was paid, do you just offer it for free for a couple of days so that your existing users don't need to pay again? I've seen a temporary discount for a new "major" version before, but it's one thing when you make that choice yourself, and it's another when you're forced to do it because Adobe made a poor choice.
Copy link to clipboard
Copied
Basically, new Bundle ID for iOS 11 only, and old bundle ID for 32bit platforms exported with AIR 29.
Seems like the only solution...