Como posso descobrir quais aplicativos para Mac são de 32 bits?

28

Em 28 de junho de 2017, a Apple anunciou que

O macOS High Sierra será a última versão do macOS a suportar aplicativos de 32 bits sem comprometer.

Como posso descobrir quais aplicativos no meu Mac são de 32 bits para que eu possa ver se preciso atualizá-los?

Forja do Trovão
fonte
1
Eles vão fazer sua própria placa de vídeo de 64 bits?
2
O que exatamente você quer dizer com "placa de vídeo de 64 bits", @ Physics-Compute? Presumo que você esteja se referindo à largura de banda da memória? Isso não tem nada a ver com o desempenho do processador ou com o suporte do sistema operacional. Você não precisa de uma placa de vídeo de 64 bits em um sistema operacional de 64 bits; de fato, as placas de vídeo de 64 bits funcionam bem em sistemas operacionais de 32 bits (o que não é , obviamente, verdadeiro para aplicativos).
Cody Grey
1
@CodyGray Eu diria que está se referindo ao número de bits de endereço que suporta para operações de DMA. É um problema se você tiver mais memória do que pode ser endereçada com 32 bits e tiver alocado um buffer para DMA, sobre o qual precisa informar um pedaço de hardware de 32 bits.
kasperd
1
Desculpe, eu quis dizer mais precisamente drivers de 64 bits. Os drivers gráficos não são predominantemente de 32 bits, o que exige que todos os processos que os utilizam também estejam no modo de 32 bits? Atualmente, um processo que normalmente é de 64 bits precisa usar o IPC com um processo de 32 bits para conversar com os drivers da placa de vídeo de 32 bits. Não permitir drivers ou processos de 32 bits parece ser um problema se os fabricantes de placas de vídeo não fizeram drivers de 64 bits, não?
1
Os drivers de vídeo não podem ter 32 bits, pois um kernel de 64 bits não pode carregar / usar drivers de 32 bits. Os fabricantes de placas de vídeo produzem drivers de 64 bits há algum tempo e precisam fazer isso em outros sistemas operacionais também, para que não seja exatamente uma proposta maluca. E o driver cuidaria das coisas de DMA que o kasperd está falando, então isso também não é problema.
Cody Grey

Respostas:

27

Uma maneira de identificar quais aplicativos de 32 bits você ainda está usando é usar a opção Informações do sistema em Sobre este Mac. As etapas exatas diferem dependendo da versão do macOS que você está executando, mas abaixo estão as etapas gerais que você deve seguir para se adequar às suas circunstâncias:

  1. Clique no menu Apple
  2. Selecione Sobre este Mac
  3. Na janela Sobre este Mac, clique no System Report...botão na parte inferior esquerda (se você estiver usando um sistema operacional mais antigo, clique no More Info...botão próximo à parte inferior central).
  4. Isso abre a janela Informações do sistema (ou a janela System Profiler nas versões mais antigas do sistema operacional).
  5. Na barra lateral à esquerda, você verá vários títulos e subtítulos.
  6. Sob o título Software (é o terceiro abaixo), você verá um subtítulo chamado Aplicativos. Clique aqui.
  7. Na parte principal da janela, no lado direito, você verá uma lista de aplicativos. Seja paciente, pois isso pode demorar um pouco para ser preenchido.
  8. Depois que a lista aparecer, você verá os títulos das colunas na parte superior.
  9. A última coluna é rotulada 64-Bit (Intel)Clique neste cabeçalho da coluna para classificar os aplicativos com 64 bits ou não (ou seja, eles terão um Sim ou Não listado em cada aplicativo).

Consulte a imagem abaixo como um exemplo:

insira a descrição da imagem aqui

NOTA: Na imagem acima, deliberadamente, não classifiquei a última coluna para que você possa ver as entradas com Sim e Não listados. Portanto, no exemplo acima, você verá que o iMovie v10.1.6 é um aplicativo de 64 bits, enquanto o iMovie 9.0.9 não é de 64 bits.


Editar - Se as etapas acima resultarem em um erro

Vi relatórios de que um pequeno número de usuários está recebendo uma mensagem de erro "O plug-in não respondeu rápido o suficiente ao coletar essas informações" enquanto aguarda o preenchimento da lista.

Se isso acontecer, saia do aplicativo System Information (ou System Profiler nas versões mais antigas do macOS) e inicie novamente, mas desta vez pule as etapas de 1 a 4 e vá diretamente para a pasta Aplicativos / Utilitários e abra o aplicativo System Information (ou System Aplicativo Profiler) diretamente de lá. Depois de aberto, siga as etapas 5 a 8 acima.

Monomeeth
fonte
1
Ele mantém o tempo limite para mim com a mensagem "O plug-in não respondeu rápido o suficiente ao coletar essas informações".
Jbis
Obrigado Josh por me lembrar desta resposta. No final do ano passado, fiquei ciente de que era um possível problema, mas esqueci que havia respondido a essa pergunta! Acabei de editar minha resposta com uma possível solução alternativa que funciona para a maioria dos usuários. Me avise se você ainda tiver problemas.
Monomeeth
Mesmo problema ao abrir diretamente em / Aplicativos / Utilitários.
JBis
27

No localizador, clique em cmdFpara obter uma janela de pesquisa.

  • Escolha Pesquisar: Este Mac
  • Atinja o primeiro critério de pesquisa e escolha " Outros ... " e aqui " Arquiteturas executáveis " " É " " i386 "
  • Clique no botão + e adicione um segundo critério " Arquiteturas executáveis " " Não é " " x86_64 "

    insira a descrição da imagem aqui

e você obterá uma lista de todos os aplicativos somente do i386 (ou seja, 32 bits).


No Terminal, isso é feito com:

mdfind "(kMDItemExecutableArchitectures == 'i386') && (kMDItemExecutableArchitectures != 'x86_64')"
Klanomath
fonte
Estranhamente para mim, esse método pega alguns arquivos PDF de anos atrás, como "Bem-vindo ao Leopard". Caso contrário, parece estar funcionando bem.
Thunderforge
3
@Thunderforge "Bem-vindo ao Leopard" não é um .pdf, mas um aplicativo IIRC, quando você o abre, escolhe o pdf do seu idioma e o abre na Visualização.
Manuel
@Manuel Interessante! Fiquei impressionado com o fato de ele ter um ícone em PDF. Nem me ocorreu que era realmente um aplicativo que selecionou um PDF para você.
Thunderforge
Acabei de perceber que esse método não encontra aplicativos ~/Library/Application Support, como jogos do Steam. A outra solução faz. Você sabe se existe alguma maneira de modificar a pesquisa para incluir isso?
Thunderforge
1
@Thunderforge a versão do terminal encontra jogos Steam.
Andrea Lazzarotto
3

As outras respostas até agora, pelo que entendi, listarão aplicativos macOS de 32 bits (e talvez alguns binários de 32 bits) no índice de metadados. Se você deseja listar todos os binários executáveis ​​somente de 32 bits do seu sistema, experimente esta linha única:

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

Se você possui o GNU findutils instalado, isso provavelmente pode ser consideravelmente simplificado. Parte da complexidade aqui é superar as limitações dos findutils do BSD incluídos no macOS.

Kevin Mark
fonte
3

Este comando Terminal de uma linha coletará uma lista de aplicativos em um arquivo de texto na área de trabalho. Ele pega as 6 linhas antes e 2 linhas após cada ocorrência de "(Intel): Não" na consulta. No entanto, ele não procura os binários ou bibliotecas de suporte de 32 bits para aplicativos de 64 bits já compilados. Essa lista é muito mais extensa e não consigo encontrar nenhum recurso que atenda a um nível mais profundo de preocupação, mesmo que seja um problema.

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

Quando você só precisa verificar um único aplicativo:

file myapplication

Por exemplo, meu traçador de raios rt:

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

O filecomando basicamente analisa muitos tipos de arquivos e tenta identificá-los. Para executáveis ​​OSX, você quase sempre verá um ou mais destes itens: i386, x86_64 e ppc, que são respectivamente arquiteturas intel / amd de 32 bits, arquiteturas intel / amd de 64 bits e arquiteturas de PC de energia (elas são bastante antigas agora.) Então, você só precisa se preocupar com i386 (aplicativos de 32 bits) e x86_64 (aplicativos de 64 bits).

Para aplicativos empacotados, clique com o botão direito do mouse e em Mostrar conteúdo do pacote . Na maioria dos aplicativos, contents → macOSum deles encontrará um executável. Seu caminho deve ser usado como argumento para file.

fyngyrz
fonte
1
Pois file /Applications/BitTorrent.app/Contents/MacOS/BitTorrenteu entendo Mach-O executable i386. O que isso significa ?
ankii 15/11
Isso significa que o aplicativo é um executável de 32 bits; e a implicação é que não será capaz de rodar nos mais recentes sistemas operacionais de 64 bits da Apple.
fyngyrz 16/11
Não consegui encontrar a tabela onde poderia encontrar significados de coisas como i386etc. Você poderia adicionar essa referência, por favor?
ankii 16/11
O filecomando basicamente analisa muitos tipos de arquivos e tenta identificá-los. Para executáveis ​​OSX, você quase sempre verá um ou mais destes: i386,, x86_64e ppcque são respectivamente arquiteturas intel / amd de 32 bits, arquiteturas intel / amd de 64 bits e arquiteturas de PC de energia (as últimas já são antigas. ) Portanto, você só precisa se preocupar com i386 (aplicativos de 32 bits) e x86_64 (aplicativos de 64 bits.) A única razão pela qual isso é importante é porque a Apple está deixando de oferecer suporte para aplicativos de 32 bits.
fyngyrz 16/11
1

Em série, eu continuava tendo o "O plug-in não respondeu rápido o suficiente ao coletar essas informações". problema e não foi possível resolvê-lo usando qualquer um dos métodos sugeridos.

Acontece que existe uma ferramenta de linha de comando chamada system_profilerque fornece as mesmas informações.

Então, fui direto ao código-fonte e escrevi um pequeno script em rubi para compilar uma lista com mais informações sobre onde o aplicativo está localizado e a fonte da instalação (quando disponível).

Você pode encontrar o script aqui .

Vidur
fonte