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

28

El 28 de junio de 2017, Apple anunció que

macOS High Sierra será la última versión de macOS que admitirá 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?

Forja del Trueno
fuente
1
¿Van a hacer su propia tarjeta de video de 64 bits?
2
¿Qué quiere decir exactamente con "tarjeta de video de 64 bits", @ Physics-Compute? ¿Asumo que te refieres al ancho de banda de la memoria? Eso no tiene nada que ver con el bitness del procesador o con el sistema operativo. No necesita una tarjeta de video de 64 bits en un sistema operativo de 64 bits; de hecho, las tarjetas de vídeo de 64 bits funcionan bien en sistemas operativos de 32 bits (que no es , por supuesto, el caso de aplicaciones).
Cody Gray
1
@CodyGray Supongo que se refiere al número 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 del que debe contarle a un hardware de 32 bits.
kasperd
1
Lo siento, me refería más precisamente a los controladores de 64 bits. ¿No son los controladores de gráficos abrumadoramente de 32 bits, que requieren que todos los procesos que los usan también estén en modo de 32 bits? Un proceso que actualmente es de 64 bits necesita usar IPC con un proceso de 32 bits para comunicarse con los controladores de la tarjeta de video de 32 bits. No permitir que los controladores o procesos de 32 bits parezca un problema si los fabricantes de tarjetas de video no han creado controladores de 64 bits, ¿no?
1
Los controladores de video no pueden ser de 32 bits, ya que un núcleo 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.
Cody Gray

Respuestas:

27

Una forma de identificar qué aplicaciones de 32 bits sigue utilizando es usar la opción Información del sistema en Acerca de esta Mac. Los pasos exactos varían 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 emergente Acerca de esta Mac, 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 de Información del sistema (o la ventana del Perfil del sistema en versiones anteriores del sistema operativo).
  5. En la barra lateral de la izquierda verá una serie de encabezados y subtítulos.
  6. Debajo del encabezado Software (es el tercero), verá un subtítulo denominado Aplicaciones. Haga clic en esto
  7. En la parte principal de la ventana, en el lado derecho, verá aparecer una lista de aplicaciones. Tenga paciencia ya que esto puede demorar un poco en poblarse.
  8. Una vez que aparezca la lista, verá encabezados de columna en la parte superior.
  9. La última columna está etiquetada 64-Bit (Intel)Haga clic en el encabezado de esta columna para ordenar las aplicaciones por si son o no de 64 bits (es decir, tendrán un o un No en cada aplicación).

Consulte la imagen a continuación como ejemplo:

ingrese la descripción de la imagen aquí

NOTA: En la imagen de arriba, no he ordenado deliberadamente la última columna para que pueda ver las entradas con Sí y 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 resultan en un error

He visto informes de que un pequeño número de usuarios está recibiendo el mensaje de error "El complemento no respondió lo suficientemente rápido al recopilar esta información" mientras esperaba 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 nuevamente, pero esta vez omita los pasos 1 a 4, vaya directamente a la carpeta Aplicaciones / Utilidades y abra la aplicación Información del sistema (o Sistema Aplicación Profiler) directamente desde allí. Una vez que se abre, siga los pasos 5 a 8 anteriores.

Monomeeth
fuente
1
Se me agota el tiempo de espera con el mensaje "El complemento no respondió lo suficientemente rápido al recopilar esta información".
JBis
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 aún tienes problemas.
Monomeeth
Mismo problema al abrir directamente desde / Aplicaciones / Utilidades.
JBis
27

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

  • Elija Buscar: Esta Mac
  • Pulse el primer criterio de búsqueda y elija " 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 la Terminal esto se hace con:

mdfind "(kMDItemExecutableArchitectures == 'i386') && (kMDItemExecutableArchitectures != 'x86_64')"
klanomath
fuente
Curiosamente 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
3
@Thunderforge "Bienvenido a Leopard" no es un .pdf sino una aplicación IIRC, cuando lo abre elige su idioma pdf y lo abre en Vista previa.
Manuel
@Manuel ¡Interesante! Me sorprendió el hecho de que tiene un icono PDF. Ni siquiera se me ocurrió que en realidad era una aplicación que elegía un PDF para ti.
Thunderforge
Acabo de notar que este método no encuentra aplicaciones ~/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
1
@Thunderforge, la versión del terminal encuentra juegos de Steam.
Andrea Lazzarotto
3

Las otras respuestas hasta ahora, por lo que entiendo, enumerarán las aplicaciones macOS de 32 bits (y tal vez algunos binarios de 32 bits) en el índice de metadatos. Si desea enumerar cada binario ejecutable de solo 32 bits en su sistema, intente con esta frase:

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 los BSutil findutils incluidos en macOS.

Kevin Mark
fuente
3

Este comando de Terminal de una línea recopilará una lista de aplicaciones en un archivo de texto en su Escritorio. Agarra 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 binarios o bibliotecas de soporte de 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 si es incluso un problema.

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

Cuando solo necesita verificar una sola aplicación:

file myapplication

Por ejemplo, mi rastreador 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 OSX, casi siempre verá uno o más de estos: i386, x86_64 y ppc, que son respectivamente arquitecturas intel / amd de 32 bits, arquitecturas intel / amd de 64 bits y arquitecturas de PC de potencia (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, uno debe hacer clic 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.

fyngyrz
fuente
1
Para file /Applications/BitTorrent.app/Contents/MacOS/BitTorrent, lo entiendo Mach-O executable i386. Qué significa eso ?
Ankii
Significa que la aplicación es un ejecutable de 32 bits; y la implicación es que no podrá ejecutarse con los sistemas operativos de 64 bits más recientes de Apple.
fyngyrz
No pude encontrar la tabla donde podría encontrar significados de cosas como i386etc. ¿Podría agregar esa referencia, por favor?
Ankii
El filecomando básicamente analiza muchos tipos de archivos e intenta identificarlos. Para ejecutables OSX, es casi siempre ve uno o más de los siguientes: i386, x86_64y ppclo que son respectivamente de 32 bits de Intel / AMD, Intel arquitecturas de 64 bits / AMD arquitecturas, y arquitecturas de alimentación de éste (estos últimos son bastante viejo. ) 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.
fyngyrz
1

En serie seguía teniendo el mensaje "El complemento no respondió con la suficiente rapidez al recopilar 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 (cuando esté disponible).

Puedes encontrar el guión aquí .

Vidur
fuente