So with Apple forcing new apps to support 64 bit, support for iPhone 5 will be completely dropped.
I do know that iPhone 5 can't support 64 bit apps however right now all apps run fine on iPhone 5.
As a developer, I just write my app and I never check a box that converts it to 64. Do all new apps support both 32 and 64 by default? Do I need to take extra steps to support 32 bit?
I'm pretty confused. Sorry if it's a silly question.
Yes - every app has 32 and 64 runtimes inside so it can run on both architectures.
You won't be able to send app to the AppStore with very old Xcode versions anyway. It's about devices - iPhone 5 has 32bit architecture. They dropped 32bit so in the future they may remove 32bit runtimes to reduce app size. For now it's an excuse for abandoning old devices.
Related
I recently put out a large update for my app and now my old iPhone 5 users cannot run it. I wanted to get some information to see if there was anything I can do, or if they just have to upgrade their phones.
My understanding is that a few years ago, Apple started to make those pop-ups for people who were running 32-bit applications telling them that their device may be slowed down running this app until the developer updates.
So I took this as an opportunity to make sure my app was 64 bit. I'm not entirely sure what I did (I don't frankly remember it's been a while) but now my older users are out of luck it would appear.
Is there a way to make my app run both 32 bit and 64 bit, or is this a bad idea / I do not want to do that?
Curious what options I have on the table.
Thanks!
Your app should include 32 bit symbols in addition to 64 bit symbols. You might have removed 32 bit symbols from your app. That causes your app to crash on 32 bit devices.
To do that, set your Architecture in your target's build settings to $(ARCHS_STANDARD). ARCHS_STANDARD includes both arm64 and armv7 architectures.
As we know, with iOS 11, apple will drop support for 32 bit applications.
This mean, that all application on new iOS need to be 64 bit.
I also understand, that (for some time now) developers need to upload 64 bit application on store.
My question is for older devices with 32 bit processor, that will stuck with older iOS (like 10.3), will that get apps updates?
My question is, when we developers upload 64 bit application, now on apple side is converted to 32 bit and can be run on 32 bit devices. Will this continue, or is apple removing all updates for 32 bit applications, and all old devices would stuck with old applications?
Currently iOS 10 supports both 32-bit and 64-bit binaries. Come iOS 11 only 64-bit binaries will be accepted.
We need to figure out how many of our users are currently running on 32-bit hardware, however iTunesConnect Analytics doesn't break down the devices by:
Device Model, or
CPU Architecture
The only breakdowns are by device family or iOS version. This isn't granular enough.
An "iPhone" device family could be iPhone 5c or iPhone 6. The former is 32-bit, the latter is 64-bit.
Similarly, an "iOS version 10" metric could be iPhone 5c or iPhone 6. The former is 32-bit, the latter is 64-bit.
How can we identify currently active devices that are on 32-bit architecture and would become obsolete?
Update:
To reiterate, as this keeps coming up: we are looking into a way to determine this using Apple's Analytics or other developer tools.
Obviously integrating a 3rd party SDK or even our own code to detect and report is easy enough, but a little late in the game.
In this answer I will address the root question which is: "How do I determine how many 32-bit device users I will lose when Apple bans 32bit apps from the App Store for the iOS 11 release?"
As anticipated in the comments, Apple has NOT banned 32bit apps from the App Store as of Sept 23, 2017. Instead, they have continued to support 32bit apps in the App Store for older devices. The only requirement at this time for apps is that they must support 64bit as well.
This is because the requirements for iOS 11 and for the App Store are independent sets of requirements.
I have been able to confirm this by viewing the available updates for my 32bit iPad 2 running iOS 9.3 (see below). I can confirm that the apps do run (though rather slowly due to the old hardware).
While this issue is not currently a concern, I would keep an eye on Apple's Developer News and Updates page for future changes in app submission requirements.
I have heard that iOS 11 will support only 64 bit apps.
But I don't quite understand because my iPhone 5 does not have a 64 bit cpu so how will it work?
If an iPhone5 can't run 64 bit apps, and Apple say they will refuse new 32 bit app in the app store starting in January 2018, how can I continue to maintain my app for my iPhone 5 users after 2018 ?
The iPhone 5S has an A7 chip. This is a 64 bit CPU, which is why it can run iOS 11. An iPhone 5, however, cannot be upgraded past iOS 10.
You will still be able to submit apps containing both 32 bit and 64 bit slices and, so as long as the minimum iOS requirement of your app is < iOS 11 the app will still run on an iPhone 5
You can no longer submit 32 bit only binaries. Older, 32 bit only, apps give a warning in iOS 10 and will not run in iOS 11.
After January 2018 you cannot submit a 32 bit app to the mac app store
I have requirements for the iOS app.
Devices that must be supported and iOS versions are listed by the customer.
It is written that the app must support:
- devices: from iPhone 4 and above;
- iOS versions: 7, 8.
I feel myself misled.
As far as I know iPhone 4 is not in the iOS 8 supported devices list.
That's why I have to target to the iOS 7.1.2 - the one that currently supported on all required devices.
How can use benefits of the iOS 8 in this app?
Could you help me with good references that will help me to understand the intricacies of this question?
In short:
Yes, you can but not on the device running with the older version of a system (so you will need conditions for such cases).
Detailed explanation:
If your app has to be compatible with iOS 7 then you can not use iOS 8 features on the system which is older. This is quite obvious, system can not understand commands that haven't been implemented yet. Although you can use in your app API that was revealed in iOS 8 but you have to create, at least, conditions checking agains which system version you run if you want to avoid troubles like app crashes. Quite a good reading for better understanding an issue can be this article. Here you have quite a nice graphic presenting which device supports which version of a system (according to your question about iPhone 4).