Po ustawieniu 64-bitowego wynikowego pliku binarnego jest plik binarny „Fat”, który zawiera wszystkie trzy obrazy Mach-O powiązane z cienkim, grubym nagłówkiem. Możesz to zobaczyć za pomocą otool lub jtool. Możesz sprawdzić kilka grubych plików binarnych zawartych w pakiecie SDK iOS 7.0, na przykład AVFoundation Framework, na przykład:
% 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)
Jeśli chodzi o sam plik binarny, używa zestawu instrukcji bitowych ARM64, który jest (w większości kompatybilny z 32-bitowym, ale) zupełnie innym zestawem instrukcji. Jest to szczególnie ważne w przypadku programu graficznego (używającego instrukcji i rejestrów NEON). Podobnie procesor ma więcej rejestrów, co ma duży wpływ na szybkość programu. W http://blogs.barrons.com/techtraderdaily/2013/09/19/apple-the-64-bit-question/?mod=yahoobarrons jest ciekawa dyskusja na temat tego, czy to robi różnicę; testy porównawcze do tej pory wyraźnie wskazywały, że tak.
Użycie otool -tV spowoduje zrzucenie zestawu (jeśli masz XCode 5 i nowsze), a następnie możesz zobaczyć różnice między zestawami instrukcji. Większość (ale nie wszyscy) deweloperów pozostanie agnostykami na zmiany, ponieważ w większości nie wpływają one bezpośrednio na Obj-C (niezależnie od CG * API) i muszą zrobić więcej z obsługą wskaźników niskiego poziomu. Kompilator wykona swoją magię i optymalizacje.