¿Cómo puedo saber qué aplicaciones de Mac son de 32 bits?

El 28 de junio de 2017, Apple anunció que

macOS High Sierra será la última versión de macOS compatible con aplicaciones de 32 bits sin compromiso.

¿Cómo puedo averiguar qué aplicaciones en mi Mac son de 32 bits para poder ver si necesito actualizarlas?

¿Van a fabricar su propia tarjeta de video de 64 bits?
¿Qué quiere decir exactamente con "tarjeta de video de 64 bits", @Physics-Compute? Supongo que te refieres al ancho de banda de la memoria. Eso no tiene nada que ver con el bitness del procesador o con el soporte del sistema operativo. No necesita una tarjeta de video de 64 bits en un sistema operativo de 64 bits; de hecho, las tarjetas de video de 64 bits funcionan bien en sistemas operativos de 32 bits (lo cual , por supuesto, no es cierto para las aplicaciones).
@CodyGray Supongo que se refiere a la cantidad de bits de dirección que admite para las operaciones de DMA. Es un problema si tiene más memoria de la que se puede abordar con 32 bits y ha asignado un búfer para DMA que necesita informar a una pieza de hardware de 32 bits.
Lo siento, me refiero más precisamente a los controladores de 64 bits. ¿No son los controladores de gráficos abrumadoramente de 32 bits, lo que requiere que todos los procesos que los usan también estén en modo de 32 bits? Un proceso que normalmente es de 64 bits en la actualidad necesita usar IPC con un proceso de 32 bits para comunicarse con los controladores de la tarjeta de video de 32 bits. No permitir controladores o procesos de 32 bits parece un problema si los fabricantes de tarjetas de video no han creado controladores de 64 bits, ¿no?
Los controladores de video no pueden ser de 32 bits, ya que un kernel de 64 bits no puede cargar/usar controladores de 32 bits. Los fabricantes de tarjetas de video han estado produciendo controladores de 64 bits durante algún tiempo, y también tienen que hacerlo para otros sistemas operativos, por lo que no es exactamente una propuesta descabellada. Y el controlador manejaría las cosas de DMA de las que habla Kasperd, por lo que tampoco es un problema.

Respuestas (6)

Una forma de identificar qué aplicaciones de 32 bits todavía estás usando es usar la opción Información del sistema en Acerca de esta Mac. Los pasos exactos difieren según la versión de macOS que esté ejecutando, pero a continuación se detallan los pasos generales que debe seguir para adaptarse a sus circunstancias:

  1. Haga clic en el menú de Apple
  2. Seleccione Acerca de esta Mac
  3. En la ventana Acerca de esta Mac que aparece, haga clic en el System Report...botón en la parte inferior izquierda (si está utilizando un sistema operativo anterior, es posible que deba hacer clic en el More Info...botón cerca de la parte inferior central).
  4. Esto abre la ventana Información del sistema (o la ventana Perfil del sistema en versiones anteriores del sistema operativo).
  5. En la barra lateral de la izquierda verá una serie de títulos y subtítulos.
  6. Debajo del encabezado Software (es el tercero hacia abajo) verá un subtítulo llamado Aplicaciones. Haga clic en esto.
  7. En la parte principal de la ventana del lado derecho, verá aparecer una lista de aplicaciones. Tenga paciencia ya que esto puede tardar un poco en completarse.
  8. Una vez que aparezca la lista, verá los encabezados de las columnas en la parte superior.
  9. La última columna tiene la etiqueta 64-Bit (Intel)Haga clic en el encabezado de esta columna para ordenar las aplicaciones según sean o no de 64 bits (es decir, tendrán un o un No en la lista de cada aplicación).

Consulte la siguiente imagen como ejemplo:

ingrese la descripción de la imagen aquí

NOTA: En la imagen de arriba, deliberadamente no ordené la última columna para que pueda ver las entradas con un Sí y un No en la lista. Entonces, en el ejemplo anterior, verá que iMovie v10.1.6 es una aplicación de 64 bits, mientras que iMovie 9.0.9 no es de 64 bits.


Editar: si los pasos anteriores dan como resultado un error

He visto informes de que una pequeña cantidad de usuarios reciben el mensaje de error "El complemento no respondió lo suficientemente rápido mientras recopilaba esta información" mientras esperaban que se completara la lista.

Si esto sucede, salga de la aplicación Información del sistema (o la aplicación System Profiler en versiones anteriores de macOS) y comience de nuevo, pero esta vez omita los pasos 1 a 4 y vaya directamente a la carpeta Aplicaciones/Utilidades y abra la aplicación Información del sistema (o System aplicación Profiler) directamente desde allí. Una vez que se abra, siga los pasos 5 a 8 anteriores.

Sigue agotando el tiempo para mí con el mensaje "El complemento no respondió lo suficientemente rápido mientras recopilaba esta información".
Gracias @Josh por recordarme esta respuesta. Me di cuenta a fines del año pasado de que este era un posible problema, ¡pero olvidé que había respondido esta pregunta! Acabo de editar mi respuesta con una posible solución que funciona para la mayoría de los usuarios. Avísame si todavía tienes problemas.
Mismo problema al abrir directamente desde /Aplicaciones/Utilidades.

En el Finder presione cmdFpara obtener una ventana de búsqueda.

  • Elija Buscar: esta Mac
  • Dale al primer criterio de búsqueda y elige " Otro... " y aquí " Arquitecturas Ejecutables " " Es " " i386 "
  • Presione el botón + y agregue un segundo criterio " Arquitecturas ejecutables " " No es " " x86_64 "

    ingrese la descripción de la imagen aquí

y obtendrá una lista de todas las aplicaciones solo i386 (es decir, 32 bits).


En Terminal esto se hace con:

mdfind "(kMDItemExecutableArchitectures == 'i386') && (kMDItemExecutableArchitectures != 'x86_64')"
Extrañamente para mí, este método recoge algunos archivos PDF de hace años, como "Bienvenido a Leopard". De lo contrario, parece estar funcionando bien.
@Thunderforge "Bienvenido a Leopard" no es un .pdf sino una aplicación IIRC, cuando lo abre, elige su pdf de idioma y lo abre en Vista previa.
@Manuel Interesante! Me desconcertó el hecho de que tiene un icono de PDF. Ni siquiera se me ocurrió que en realidad era una aplicación que eligió un PDF para ti.
Me acabo de dar cuenta de que este método no encuentra aplicaciones en ~/Library/Application Support, como los juegos de Steam. La otra solución sí. ¿Sabes si hay alguna forma de modificar la búsqueda para incluir eso?
@Thunderforge, la versión de terminal encuentra juegos de Steam.

Las otras respuestas hasta ahora, por lo que entiendo, incluirán aplicaciones macOS de 32 bits (y tal vez algunos binarios de 32 bits) en el índice de metadatos. Si desea enumerar todos los archivos binarios ejecutables de 32 bits en su sistema, pruebe este resumen:

find / -type f -perm +111 -exec file -p {} \; -exec head -c 1 /dev/zero \; | xargs -0 -n 1 sh -c 'echo "$@" | head -n 1' -- | grep -v x86_64 | grep -E Mach-O.+i386

Si tiene GNU findutils instalado, esto probablemente se puede simplificar considerablemente. Parte de la complejidad aquí es superar las limitaciones de BSD findutils incluidas en macOS.

Este comando de terminal de una línea recopilará una lista de aplicaciones en un archivo de texto en su escritorio. Toma las 6 líneas antes y las 2 líneas después de cada aparición de "(Intel): No" en la consulta. Sin embargo, no profundiza en los archivos binarios o bibliotecas compatibles con 32 bits para aplicaciones de 64 bits ya compiladas. Esa lista es mucho más extensa y no puedo encontrar ningún recurso que aborde un nivel más profundo de preocupación, incluso si es un problema.

system_profiler SPApplicationsDataType | grep -B 6 -A 2 "(Intel): No" > ~/Desktop/32BitAppList.txt

Cuando solo necesita verificar una sola aplicación:

file myapplication

Por ejemplo, mi trazador de rayos rt:

==> file rt
rt: Mach-O 64-bit executable x86_64
==>

El filecomando básicamente analiza muchos tipos de archivos e intenta identificarlos. Para los ejecutables de OSX, casi siempre verá uno o más de estos: i386, x86_64 y ppc, que respectivamente son arquitecturas Intel/AMD de 32 bits, arquitecturas Intel/AMD de 64 bits y arquitecturas Power PC (estas son bastante antiguas). ahora). Así que realmente solo tiene que preocuparse por i386 (aplicaciones de 32 bits) y x86_64 (aplicaciones de 64 bits).

Para aplicaciones empaquetadas, se debe hacer clic con el botón derecho y Mostrar contenido del paquete . En la mayoría de las aplicaciones, debajo de contents → macOSuna encontrará un ejecutable. Su ruta debe usarse como argumento para file.

Para file /Applications/BitTorrent.app/Contents/MacOS/BitTorrent, obtengo Mach-O executable i386. Que significa eso ?
Significa que la aplicación es un ejecutable de 32 bits; y la implicación es que no podrá ejecutarse en los sistemas operativos más recientes de Apple de solo 64 bits.
No pude encontrar la tabla donde pudiera encontrar significados de cosas como, i386etc. ¿Podría agregar esa referencia, por favor?
El filecomando básicamente analiza muchos tipos de archivos e intenta identificarlos. Para los ejecutables de OSX, casi siempre verá uno o más de estos: i386, x86_64y, ppcrespectivamente, que son arquitecturas Intel/AMD de 32 bits, arquitecturas Intel/AMD de 64 bits y arquitecturas Power PC (estas últimas son bastante antiguas ahora. ) Por lo tanto, solo debe preocuparse por i386 (aplicaciones de 32 bits) y x86_64 (aplicaciones de 64 bits). La única razón por la que importan es porque Apple está dejando de admitir aplicaciones de 32 bits.

Seguí teniendo en serie el mensaje "El complemento no respondió lo suficientemente rápido mientras recopilaba esta información". problema y no pude resolverlo usando ninguno de los métodos sugeridos.

Resulta que hay una herramienta de línea de comandos llamada system_profilerque proporciona la misma información.

Así que fui directamente a la fuente y escribí un pequeño script Ruby para compilar una lista con más información sobre dónde se encuentra la aplicación y la fuente de instalación (si está disponible).

Puedes encontrar el guión aquí .