What is arm64 and x86_64 for development perspective?

arm64 and x86_64 are instruction set architectures (ISAs) used in processors designed for different devices. If we wish to execute a certain piece of code on iPhone or iPad devices with A14, A15, etc. chipsets, we need to compile our code for the arm64 architecture. Similarly, if we wish to run our code on an iPhone or iPad simulator running on an Intel Mac, it should be compiled for the x86_64 architecture. If it's Apple silicon (M1, M2, M3, etc.), you can compile for arm64 to run on the simulator too.

When developing an XCFramework and shipping it for everyone to use, it should be compiled for both arm64 and x86_64, so that users of the framework can run it on both their simulators and devices. A combined framework built from compiled archives of both architectures is called a fat binary or universal binary.

← Back to Writing