Bagaimana saya bisa mengetahui aplikasi Mac mana yang 32-bit?

28

Pada 28 Juni 2017, Apple mengumumkan hal itu

macOS High Sierra akan menjadi rilis macOS terakhir yang mendukung aplikasi 32-bit tanpa kompromi.

Bagaimana saya bisa mengetahui aplikasi mana di Mac saya yang 32-bit sehingga saya bisa melihat apakah saya perlu memutakhirkannya?

Thunderforge
sumber
1
Apakah mereka akan membuat kartu video 64-bit sendiri?
2
Apa, tepatnya, yang Anda maksud dengan "kartu video 64-bit", @ Physics-Compute? Saya menganggap Anda mengacu pada bandwidth memori? Itu tidak ada hubungannya dengan bitness dari prosesor atau didukung oleh sistem operasi. Anda tidak memerlukan kartu video 64-bit pada OS 64-bit; pada kenyataannya, kartu video 64-bit bekerja dengan baik pada 32-bit OS (yang tidak , tentu saja, benar aplikasi).
Cody Gray
1
@ CodyGray Saya akan menganggap itu merujuk pada jumlah bit alamat yang didukungnya untuk operasi DMA. Ini adalah masalah jika Anda memiliki lebih banyak memori daripada yang bisa diatasi dengan 32 bit dan Anda telah mengalokasikan buffer untuk DMA yang perlu Anda ceritakan tentang perangkat keras 32-bit.
kasperd
1
Maaf, maksud saya driver 64-bit lebih tepat. Bukankah driver grafis sangat 32-bit, yang mengharuskan semua proses yang menggunakannya menjadi mode 32 bit? Suatu proses yang biasanya 64bit saat ini perlu menggunakan IPC dengan proses 32bit untuk berbicara dengan driver kartu video 32bit. Tidak mengizinkan driver atau proses 32bit tampak seperti masalah jika pembuat kartu video belum membuat driver 64bit, bukan?
1
Driver video tidak mungkin 32-bit, karena kernel 64-bit tidak dapat memuat / menggunakan driver 32-bit. Pembuat kartu video telah memproduksi driver 64-bit untuk beberapa waktu, dan mereka juga harus melakukan ini untuk sistem operasi lain, jadi itu bukan proposisi yang gila. Dan pengemudi akan menangani hal-hal DMA yang kasperd bicarakan, jadi itu juga bukan masalah.
Cody Grey

Jawaban:

27

Salah satu cara untuk mengidentifikasi aplikasi 32-bit yang masih Anda gunakan adalah dengan menggunakan opsi System Information di bawah About This Mac. Langkah-langkah yang tepat berbeda tergantung pada versi macOS yang Anda jalankan, tetapi di bawah ini adalah langkah-langkah luas yang harus Anda ikuti sesuai dengan keadaan Anda:

  1. Klik pada Menu Apple
  2. Pilih Tentang Mac Ini
  3. Di jendela About This Mac yang muncul, klik System Report...tombol di kiri bawah (jika Anda menggunakan OS yang lebih lama, Anda mungkin perlu mengklik More Info...tombol di dekat bagian tengah bawah).
  4. Ini membuka jendela System Information (atau System Profiler window dalam versi OS yang lebih lama).
  5. Di Bilah Samping di sebelah kiri Anda akan melihat sejumlah judul dan subjudul.
  6. Di bawah tajuk Perangkat Lunak (ini yang ke-3 ke bawah) Anda akan melihat Subpos bertuliskan Aplikasi. Klik ini.
  7. Di bagian utama jendela di sisi kanan Anda akan melihat daftar aplikasi yang muncul. Bersabarlah karena ini mungkin memerlukan sedikit waktu untuk mengisi.
  8. Setelah daftar muncul, Anda akan melihat judul kolom di bagian atas.
  9. Kolom terakhir diberi label 64-Bit (Intel)Klik pada tajuk kolom ini untuk mengurutkan aplikasi berdasarkan apakah mereka 64-Bit (artinya mereka memiliki Ya atau Tidak yang terdaftar pada setiap aplikasi).

Lihat gambar di bawah ini sebagai contoh:

masukkan deskripsi gambar di sini

CATATAN: Pada gambar di atas saya sengaja tidak mengurutkan kolom terakhir sehingga Anda dapat melihat entri dengan Ya dan Tidak terdaftar terhadap mereka. Jadi, dalam contoh di atas Anda akan melihat bahwa iMovie v10.1.6 adalah aplikasi 64-Bit sementara iMovie 9.0.9 bukan 64-Bit.


Edit - Jika langkah-langkah di atas menghasilkan kesalahan

Saya telah melihat laporan bahwa sejumlah kecil pengguna mendapatkan pesan kesalahan "Plug-in tidak merespon dengan cukup cepat saat mengumpulkan informasi ini" sambil menunggu daftar untuk diisi.

Jika ini terjadi, keluar dari aplikasi Sistem Informasi (atau aplikasi System Profiler dalam versi macOS yang lebih lama) dan mulai lagi, tetapi kali ini lewati langkah 1 hingga 4 dan langsung ke folder Aplikasi / Utilitas Anda dan buka aplikasi Informasi Sistem (atau Sistem Aplikasi profiler) langsung dari sana. Setelah terbuka, ikuti Langkah 5 hingga 8 di atas.

Monomeeth
sumber
1
Itu membuat saya tidak punya waktu untuk mengirimkan pesan "Plug-in tidak merespons dengan cukup cepat saat mengumpulkan informasi ini."
JBis
Terima kasih @Josh untuk mengingatkan saya pada jawaban ini. Saya menyadari akhir tahun lalu bahwa ini adalah masalah yang mungkin terjadi tetapi lupa saya telah menjawab pertanyaan ini! Saya baru saja mengedit jawaban saya dengan kemungkinan solusi yang berfungsi untuk sebagian besar pengguna. Beri tahu saya jika Anda masih memiliki masalah.
Monomeeth
Masalah yang sama ketika membuka langsung dari / Aplikasi / Utilitas.
JBis
27

Di Finder, klik cmdFuntuk mendapatkan jendela pencarian.

  • Pilih Cari: Mac ini
  • Tekan kriteria pencarian pertama dan pilih " Lainnya ... " dan di sini " Arsitektur yang Dapat Dieksekusi " " Is " " i386 "
  • Tekan tombol + dan tambahkan kriteria kedua " Arsitektur Eksekusi " " Bukan " " x86_64 "

    masukkan deskripsi gambar di sini

dan Anda akan mendapatkan daftar semua aplikasi i386 saja (yaitu 32-bit).


Di Terminal ini dilakukan dengan:

mdfind "(kMDItemExecutableArchitectures == 'i386') && (kMDItemExecutableArchitectures != 'x86_64')"
klanomath
sumber
Anehnya bagi saya, metode ini mengambil beberapa file PDF dari tahun yang lalu, seperti "Selamat Datang di Leopard". Kalau tidak, tampaknya tidak berfungsi dengan baik.
Thunderforge
3
@Thunderforge "Selamat datang di Leopard" bukan .pdf tetapi aplikasi IIRC, ketika Anda membukanya ia memilih pdf bahasa Anda dan membukanya di Pratinjau.
Manuel
@Manuel Menarik! Saya terlempar karena memiliki ikon PDF. Bahkan tidak terpikir oleh saya bahwa itu sebenarnya sebuah aplikasi yang memilih PDF untuk Anda.
Thunderforge
Saya hanya memperhatikan bahwa metode ini tidak menemukan aplikasi ~/Library/Application Support, seperti permainan Steam. Solusi lain tidak. Apakah Anda tahu jika ada cara untuk mengubah pencarian untuk memasukkan itu?
Thunderforge
1
@Thunderforge versi terminal tidak menemukan permainan Steam.
Andrea Lazzarotto
3

Jawaban lain sejauh ini, dari apa yang saya mengerti, akan mencantumkan aplikasi macOS 32-bit (dan mungkin beberapa biner 32-bit) dalam indeks metadata. Jika Anda ingin membuat daftar setiap biner yang dapat dieksekusi hanya 32-bit pada sistem Anda, cobalah one-liner ini:

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

Jika Anda telah menginstal GNU findutils, ini mungkin dapat disederhanakan. Beberapa kompleksitas di sini adalah untuk mengatasi keterbatasan findutils BSD yang termasuk dalam macOS.

Kevin Mark
sumber
3

Perintah Terminal satu baris ini akan mengumpulkan daftar aplikasi ke dalam file teks pada Desktop Anda. Itu mengambil 6 baris sebelum dan 2 baris setelah setiap kemunculan "(Intel): Tidak" dalam permintaan. Namun itu tidak menggali ke dalam binari atau perpustakaan yang mendukung 32 bit untuk aplikasi 64 bit yang sudah dikompilasi. Daftar itu jauh lebih luas dan saya tidak dapat menemukan sumber daya apa pun yang membahas tingkat kepedulian yang lebih dalam jika itu merupakan masalah.

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

Ketika Anda hanya perlu memeriksa satu aplikasi:

file myapplication

Misalnya, saya ray tracer, rt:

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

The fileperintah pada dasarnya melihat berbagai jenis file dan mencoba untuk mengidentifikasi mereka. Untuk OSX executable, Anda akan hampir selalu melihat satu atau lebih dari ini: i386, x86_64, dan ppc yang masing-masing adalah arsitektur intel / amd 32-bit, arsitektur intel / amd 64-bit, dan arsitektur power PC (ini cukup lama sekarang.) Jadi, Anda benar-benar hanya perlu khawatir dengan i386 (aplikasi 32-bit) dan x86_64 (aplikasi 64-bit.)

Untuk aplikasi yang dikemas, seseorang harus mengklik kanan dan Tampilkan Konten Paket . Di sebagian besar aplikasi, di bawah contents → macOSsatu akan menemukan executable. Jalannya harus digunakan sebagai argumen untuk file.

fyngyrz
sumber
1
Karena file /Applications/BitTorrent.app/Contents/MacOS/BitTorrentsaya mengerti Mach-O executable i386. Apa artinya ?
ankii
Ini berarti bahwa aplikasi tersebut dapat dieksekusi 32-bit; dan implikasinya adalah bahwa itu tidak akan dapat berjalan di bawah sistem operasi 64-bit-satunya Apple terbaru.
fyngyrz
Saya tidak dapat menemukan tabel di mana saya dapat menemukan arti dari hal-hal seperti i386dll. Bisakah Anda menambahkan referensi seperti itu?
ankii
The fileperintah pada dasarnya melihat berbagai jenis file dan mencoba untuk mengidentifikasi mereka. Untuk OSX executable, Anda akan hampir selalu melihat satu atau lebih dari ini: i386,, x86_64dan ppcyang masing-masing adalah arsitektur intel / amd 32-bit, arsitektur intel / amd 64-bit, dan arsitektur power PC (yang terakhir sudah cukup lama sekarang. ) Jadi Anda benar-benar hanya harus peduli dengan i386 (aplikasi 32-bit) dan x86_64 (aplikasi 64-bit.) Satu-satunya alasan mereka penting adalah karena Apple menjatuhkan dukungan untuk aplikasi 32-bit.
fyngyrz
1

Saya terus-menerus membuat "Plug-in tidak merespons dengan cukup cepat saat mengumpulkan informasi ini." masalah, dan tidak dapat menyelesaikannya menggunakan salah satu metode yang disarankan.

Ternyata ada alat baris perintah yang disebut system_profileryang menyediakan informasi yang sama.

Jadi saya langsung ke sumbernya dan menulis sedikit ruby ​​script untuk menyusun daftar dengan informasi lebih lanjut tentang di mana aplikasi itu berada dan sumber instal (jika tersedia).

Anda dapat menemukan skrip di sini .

Vidura
sumber