macos - update - Determine la versión mínima de OSX para la cual se compiló un binario
macos mojave (1)
Utilice otool -l /path/to/binary
e inspeccione el LC_VERSION_MIN_MACOSX
carga LC_VERSION_MIN_MACOSX
; En concreto, el campo de la versión.
Por ejemplo, un binario compilado con el SDK 10.8 con destino de implementación ( -mmacosx-version-min
) 10.8 debería tener un LC_VERSION_MIN_MACOSX
como este:
Load command 9
cmd LC_VERSION_MIN_MACOSX
cmdsize 16
version 10.8
sdk 10.8
mientras que un binario compilado con el SDK 10.8 con destino de implementación 10.7 debería tener un LC_VERSION_MIN_MACOSX
carga LC_VERSION_MIN_MACOSX
como este:
Load command 9
cmd LC_VERSION_MIN_MACOSX
cmdsize 16
version 10.7
sdk 10.8
Cuando se utilizan los backends de Clang o Darwin de GCC para crear ejecutables para OSX, se puede usar la bandera -mmacosx-version-min=version
para configurar la versión más antigua de OSX en la que se ejecutará el ejecutable.
¿Hay alguna forma de rastrear desde un ejecutable dado qué marca se usó para compilarlo? Es decir, ¿hay una manera de determinar a qué versión mínima de OSX se dirige un ejecutable determinado?