When launching an app on Mac, it prefers to execute it using the architecture that is native to its platform. On an Intel-based Mac machine, the system always executes the x86_64 (Intel) slice. On Apple silicon, the system prefers to execute the arm64 (Silicon) slice when one is present.
This means Macs with the M1 chip, will always try to launch apps in native silicon, even for built applications that were compiled specifically for Intel only. To allow intel-only apps to run on Apple Silicon, the app must be specified to run using Roesetta.
If the application is compiled for intel only, it is possible to specify the launch behavior of the app to run using Rosetta on Macs with the M1 chip. To prioritize the x86_64 (Intel) architecture, add the LSArchitecturePriority key to your app’s Info.plist file. The value of this key is an ordered array of strings, which define the priority order for selecting an architecture.
<key>LSArchitecturePriority</key> <array> <!-- Prefer to run Intel slice over silicon slice --> <string>x86_64</string> <string>arm64</string> </array> |