Когда вы устанавливаете 64-битную версию, результирующий двоичный файл является «толстым» двоичным файлом, который содержит все три изображения Mach-O, объединенные с тонким толстым заголовком. Вы можете убедиться в этом, используя otool или jtool. Вы можете проверить некоторые толстые двоичные файлы, входящие в состав iOS 7.0 SDK, например AVFoundation Framework, например:
% cd /Developer/Platforms/iPhoneOS.platform/DeviceSupport/7.0\ \(11A465\)/Symbols/System/Library/Frameworks/AVFoundation.framework/
%otool -V -f AVFoundation 9:36
Fat headers
fat_magic FAT_MAGIC
nfat_arch 3
architecture arm64 # The 64-bit version (A7)
cputype CPU_TYPE_ARM64
cpusubtype CPU_SUBTYPE_ARM64_ALL
capabilities 0x0
offset 16384
size 2329888
align 2^14 (16384)
architecture armv7 # A5X - packaged after the arm64version
cputype CPU_TYPE_ARM
cpusubtype CPU_SUBTYPE_ARM_V7
capabilities 0x0
offset 2359296
size 2046336
align 2^14 (16384)
architecture armv7s # A6 - packaged after the armv7 version
cputype CPU_TYPE_ARM
cpusubtype CPU_SUBTYPE_ARM_V7S
capabilities 0x0
offset 4407296
size 2046176
align 2^14 (16384)
Что касается самого двоичного файла, он использует набор команд ARM64, который (в основном совместим с 32-разрядными версиями, но) совершенно другой набор команд. Это особенно важно для графической программы (использующей NEON инструкции и регистры). Точно так же у ЦП больше регистров, что сильно влияет на скорость выполнения программы. В http://blogs.barrons.com/techtraderdaily/2013/09/19/apple-the-64-bit-question/?mod=yahoobarrons есть интересное обсуждение того, имеет ли это значение; сравнительные тесты пока ясно показали, что это так.
Использование otool -tV сбрасывает сборку (если у вас XCode 5 и новее), после чего вы можете сами увидеть различия в наборе команд. Большинство (но не все) разработчиков останутся безразличными к изменениям, так как по большей части они не влияют напрямую на Obj-C (несмотря на CG * API) и должны делать больше с обработкой указателей низкого уровня. Компилятор будет творить чудеса и оптимизацию.