|
|
"All iOS apps must support 64-bit code" ??
|
|
|
|
Mac Elite
Join Date: Aug 2001
Location: London, Ontario
Status:
Offline
|
|
The headline today on MacNN headline news was "All iOS apps must support 64-bit code" by February, 2015. What does this mean for the iPhone 4s, 5 and 5c, all of which have 32-bit processors? Presumably, after February some new apps will appear which won't include any 32-bit code since the handwriting is on the wall. Does iOs 8 convert 64-bit code to 32-bit when necessary?
|
|
|
|
|
|
|
|
|
Clinically Insane
Join Date: Nov 1999
Location: 888500128, C3, 2nd soft.
Status:
Offline
|
|
"Support" does not mean "run exclusively on".
But yes, the 32-but processors will eventually be unsupported.
|
|
|
|
|
|
|
|
|
Moderator
Join Date: Apr 2000
Location: Gothenburg, Sweden
Status:
Offline
|
|
It's fat binaries all over again. Apple did this the first time in the nineties with the 68k/PPC fat binaries, and kept doing it with PPC/x86 (now called universal binaries) and 32/64-bit code on x86. The requirement only says that there must be 64-bit code, not that the 32-bit code should somehow be removed. By default, Xcode will make fat binaries.
|
The new Mac Pro has up to 30 MB of cache inside the processor itself. That's more than the HD in my first Mac. Somehow I'm still running out of space.
|
|
|
|
|
|
|
|
Administrator
Join Date: Apr 2001
Location: San Antonio TX USA
Status:
Offline
|
|
So does this mean that backward-compatible iOS apps will be storage hogs, or is there a mechanism to select "load 32 bit" or "load 64 bit" versions? If not, should there be? I'm sadly way out of the loop with how Xcode would handle dual code versions.
|
Glenn -----OTR/L, MOT, Tx
|
|
|
|
|
|
|
|
Managing Editor
Join Date: Jul 2012
Status:
Offline
|
|
After a brief consultation with a programmer, he doesn't see selective loading capability for 32 versus 64 bit versions in xCode or any iOS documentation .
|
|
|
|
|
|
|
|
|
Moderator
Join Date: Apr 2000
Location: Gothenburg, Sweden
Status:
Offline
|
|
The actual code is a small part of the storage space used, I don't think it will be a big problem. Most likely Apple does this to save on RAM - right now, it has to load both 32-bit and 64-bit libraries into RAM when you're running 32-bit apps on 64-bit phones. By requiring all apps to have 64-bit versions, Apple can save this RAM. It's a small loss for users of iPhone 4S, 5 and 5C, and a potentially big gain for users of 5S, 6 and 6+.
|
The new Mac Pro has up to 30 MB of cache inside the processor itself. That's more than the HD in my first Mac. Somehow I'm still running out of space.
|
|
|
|
|
|
|
|
Fresh-Faced Recruit
Join Date: Feb 2002
Status:
Offline
|
|
Originally Posted by EstaNightshift
After a brief consultation with a programmer, he doesn't see selective loading capability for 32 versus 64 bit versions in xCode or any iOS documentation .
There isn't any need to do so. If the hardware is 64-bit it will run either the 32 or 64-bit versions. If it is 32-bit it will just run the 32-bit.
For most developers the only place this becomes a real pain is if they are relying on old libraries that aren't 64-bit safe. When you build your app in Xcode all you do is target the architectures you want to support and it builds everything out accordingly.
|
|
|
|
|
|
|
|
|
Administrator
Join Date: Apr 2001
Location: San Antonio TX USA
Status:
Offline
|
|
The "32 bit version or 64 bit version" question was mostly because I was concerned about how large a dual-code app might be. P, can you give me some context about code size in an iOS app? What does "small part" mean in terms of numbers?
|
Glenn -----OTR/L, MOT, Tx
|
|
|
|
|
|
|
|
Managing Editor
Join Date: Jul 2012
Status:
Offline
|
|
As we've been told, expect 20-30% larger applications.
|
|
|
|
|
|
|
|
|
Fresh-Faced Recruit
Join Date: Feb 2002
Status:
Offline
|
|
Originally Posted by ghporter
The "32 bit version or 64 bit version" question was mostly because I was concerned about how large a dual-code app might be. P, can you give me some context about code size in an iOS app? What does "small part" mean in terms of numbers?
It varies from app to app. Let's look at Keynote for example. This is a fat binary that supports both arm7 (32-bit) and arm64 (64-bit). I unzipped the .ipa file and then looked at the executable with lipo.
Code:
Fat header in: /Users/joshwisenbaker/Desktop/Keynote 2.2.2/Payload/Keynote.app/Keynote
fat_magic 0xcafebabe
nfat_arch 2
architecture arm64
cputype CPU_TYPE_ARM64
cpusubtype CPU_SUBTYPE_ARM64_ALL
offset 16384
size 49114752
align 2^14 (16384)
architecture armv7
cputype CPU_TYPE_ARM
cpusubtype CPU_SUBTYPE_ARM_V7
offset 49135616
size 41296560
align 2^14 (16384)
In this case the 64-bit code is about 49MB and the 32-bit is around 41MB. Now that sounds like a lot of bloat, but it's not! As with most apps, the actual binary code is a very small part of what gets installed. In this case the Keynote.ipa file is 530.7MB while still compressed and 558.2MB when installed.
In the grand scheme of things the 64-bit part of the executable is only ~9.3% of the total install.
|
|
|
|
|
|
|
|
|
Moderator
Join Date: Apr 2000
Location: Gothenburg, Sweden
Status:
Offline
|
|
|
The new Mac Pro has up to 30 MB of cache inside the processor itself. That's more than the HD in my first Mac. Somehow I'm still running out of space.
|
|
|
|
|
|
|
|
Administrator
Join Date: Apr 2001
Location: San Antonio TX USA
Status:
Offline
|
|
That sounds a lot less "bloaty" than I was expecting. Thanks!
|
Glenn -----OTR/L, MOT, Tx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Forum Rules
|
|
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is Off
|
|
|
|
|
|
|
|
|
|
|
|