Me encontré con esto mientras buscaba cómo hacer lo mismo para mi propia aplicación, así que pensé en publicar lo que funcionó para mí en caso de que otros también se enfrentan al mismo problema.
No es un argumento de línea de comandos en sí, pero puede añadir LSArchitecturePriority
a Info.plist.
Según Documentación de Apple :
Utilice esta clave para priorizar la ejecución de una arquitectura específica en un binario universal. Esta clave contiene una matriz de cadenas, con cada cadena especifica el nombre de una arquitectura soportada. El orden de las cadenas en la matriz representa su preferencia para ejecutar la aplicación. Por ejemplo, si especifica primero la arquitectura x86_64 para una aplicación universal aplicación universal, el sistema ejecuta esa aplicación bajo la traducción de Rosetta en silicio de Apple.
Así que sólo hay que añadir
<key>LSArchitecturePriority</key>
<array>
<string>x86_64</string>
</array>
a su Info.plist para que se abra con Rosetta por defecto sólo con open -a example.app
.
Nota: Como se indica en la documentación, sólo funciona para binarios universales, así que para comprobar si su aplicación es un binario universal, ejecute
lipo -archs example.app/Contents/MacOS/exec
y si la salida es
x86_64 arm64
o
x86_64 arm64e
significa que tu aplicación es un binario universal.