Làm cách nào tôi có thể tìm ra ứng dụng Mac nào 32-bit?


28

Vào ngày 28 tháng 6 năm 2017, Apple đã thông báo rằng

macOS High Sierra sẽ là bản phát hành macOS cuối cùng hỗ trợ các ứng dụng 32 bit mà không ảnh hưởng.

Làm cách nào tôi có thể tìm ra ứng dụng nào trên máy Mac của mình là 32 bit để tôi có thể xem liệu tôi có cần nâng cấp chúng không?


1
Họ có định tự làm card màn hình 64 bit không?

2
Chính xác thì ý bạn là gì bởi "card màn hình 64 bit", @ Vật lý tính toán? Tôi giả sử bạn đang đề cập đến băng thông bộ nhớ? Điều đó không liên quan gì đến độ bit của bộ xử lý hoặc được hỗ trợ bởi hệ điều hành. Bạn không cần thẻ video 64 bit trên HĐH 64 bit; thực tế, thẻ video 64 bit hoạt động tốt trên các hệ điều hành 32 bit ( tất nhiên, điều này không đúng với các ứng dụng).
Cody Grey

1
@CodyGray Tôi cho rằng nó đang đề cập đến số bit địa chỉ mà nó hỗ trợ cho các hoạt động DMA. Đó là một vấn đề nếu bạn có nhiều bộ nhớ hơn có thể được giải quyết với 32 bit và bạn đã phân bổ bộ đệm cho DMA mà bạn cần nói với một phần cứng 32 bit.
kasperd

1
Xin lỗi, tôi chính xác hơn có nghĩa là trình điều khiển 64 bit. Các trình điều khiển đồ họa có quá 32 bit không, điều này đòi hỏi tất cả các quá trình sử dụng chúng ở chế độ 32 bit? Một quy trình thường là 64 bit ngày nay cần sử dụng IPC với quy trình 32 bit để nói chuyện với trình điều khiển thẻ video 32 bit. Không cho phép trình điều khiển 32 bit hoặc các quy trình có vẻ như là một vấn đề nếu các nhà sản xuất thẻ video chưa tạo trình điều khiển 64 bit, phải không?

1
Trình điều khiển video có thể không phải là 32 bit, vì hạt nhân 64 bit không thể tải / sử dụng trình điều khiển 32 bit. Các nhà sản xuất thẻ video đã sản xuất trình điều khiển 64 bit một thời gian và họ cũng phải làm điều này cho các hệ điều hành khác, vì vậy đây không hẳn là một đề xuất điên rồ. Và người lái xe sẽ xử lý những thứ DMA mà kasperd đang nói đến, vì vậy đó cũng không phải là vấn đề.
Cody Grey

Câu trả lời:


27

Một cách để xác định ứng dụng 32 bit nào bạn vẫn đang sử dụng là sử dụng tùy chọn Thông tin hệ thống trong Giới thiệu về máy Mac này. Các bước chính xác khác nhau tùy thuộc vào phiên bản macOS bạn đang chạy, nhưng dưới đây là các bước rộng bạn có thể thực hiện để phù hợp với hoàn cảnh của mình:

  1. Nhấp vào Menu Apple
  2. Chọn Giới thiệu về máy Mac này
  3. Trong cửa sổ Giới thiệu về Mac này bật lên, nhấp vào System Report...nút ở dưới cùng bên trái (nếu bạn đang sử dụng HĐH cũ hơn, bạn có thể cần phải nhấp vào More Info...nút gần dưới cùng ở giữa).
  4. Điều này sẽ mở ra cửa sổ Thông tin hệ thống (hoặc cửa sổ Cấu hình hệ thống trong các phiên bản cũ hơn của HĐH).
  5. Trong Sidebar bên trái, bạn sẽ thấy một số tiêu đề và tiêu đề phụ.
  6. Trong tiêu đề Phần mềm (là phần thứ 3 trở xuống), bạn sẽ thấy một ứng dụng có tiêu đề phụ. Bấm vào đây.
  7. Trong phần chính của cửa sổ ở phía bên tay phải, bạn sẽ thấy một danh sách các ứng dụng xuất hiện. Hãy kiên nhẫn vì điều này có thể mất một chút thời gian để cư trú.
  8. Khi danh sách xuất hiện, bạn sẽ thấy các tiêu đề cột ở trên cùng.
  9. Cột cuối cùng được gắn nhãn 64-Bit (Intel)Nhấp vào tiêu đề cột này để sắp xếp các ứng dụng bằng cách chúng có 64-bit hay không (nghĩa là chúng sẽ có hoặc Không được liệt kê đối với mỗi ứng dụng).

Tham khảo hình ảnh dưới đây làm ví dụ:

nhập mô tả hình ảnh ở đây

LƯU Ý: Trong hình trên, tôi đã cố tình không sắp xếp cột cuối cùng để bạn có thể thấy các mục có cả Có và Không được liệt kê đối với chúng. Vì vậy, trong ví dụ trên, bạn sẽ thấy iMovie v10.1.6 là ứng dụng 64-bit trong khi iMovie 9.0.9 không phải là 64-bit.


Chỉnh sửa - Nếu các bước trên dẫn đến lỗi

Tôi đã thấy các báo cáo rằng một số lượng nhỏ người dùng đang nhận được thông báo lỗi "Trình cắm không phản hồi đủ nhanh trong khi thu thập thông tin này" trong khi chờ danh sách được điền.

Nếu điều này xảy ra, hãy thoát khỏi ứng dụng Thông tin hệ thống (hoặc ứng dụng Cấu hình hệ thống trong các phiên bản macOS cũ hơn) và bắt đầu lại, nhưng lần này bỏ qua các bước từ 1 đến 4 và truy cập trực tiếp vào thư mục Ứng dụng / Tiện ích của bạn và mở ứng dụng Thông tin hệ thống (hoặc Hệ thống Ứng dụng Profiler) trực tiếp từ đó. Khi nó mở ra, hãy làm theo các bước 5 đến 8 ở trên.


1
Nó liên tục hẹn giờ với tôi với thông báo "Trình cắm không phản hồi đủ nhanh trong khi thu thập thông tin này."
JBis

Cảm ơn @Josh đã nhắc nhở tôi về câu trả lời này. Tôi đã nhận thức được vào cuối năm ngoái rằng đây là một vấn đề có thể xảy ra nhưng quên rằng tôi đã trả lời câu hỏi này! Tôi vừa chỉnh sửa câu trả lời của mình với một cách giải quyết có thể phù hợp với hầu hết người dùng. Hãy cho tôi biết nếu bạn vẫn có vấn đề.
Monomeeth

Vấn đề tương tự khi mở trực tiếp từ / Ứng dụng / Tiện ích.
JBis

27

Trong Finder tìm cmdFđể có được một cửa sổ tìm kiếm.

  • Chọn tìm kiếm: Mac này
  • Đạt tiêu chí tìm kiếm đầu tiên và chọn " Khác ... " và tại đây " Kiến trúc thực thi " " Is " " i386 "
  • Nhấn nút + và thêm tiêu chí thứ hai " Kiến trúc thực thi " " Không phải là " " x86_64 "

    nhập mô tả hình ảnh ở đây

và bạn sẽ nhận được một danh sách tất cả các ứng dụng chỉ dành cho i386 (tức là 32 bit).


Trong Terminal, việc này được thực hiện với:

mdfind "(kMDItemExecutableArchitectures == 'i386') && (kMDItemExecutableArchitectures != 'x86_64')"

Thật kỳ lạ đối với tôi, phương pháp này chọn một vài tệp PDF từ nhiều năm trước, như "Chào mừng bạn đến với Leopard". Nếu không thì dường như đang làm việc tốt.
Thunderforge

3
@Thunderforge "Chào mừng bạn đến với Leopard" không phải là .pdf mà là một ứng dụng IIRC, khi bạn mở nó, nó sẽ chọn ngôn ngữ pdf của bạn và mở nó trong Bản xem trước.
Manuel

@Quản lý thú vị! Tôi đã bị ném ra bởi thực tế là nó có một biểu tượng PDF. Tôi thậm chí không nghĩ rằng đó thực sự là một ứng dụng chọn PDF cho bạn.
Thunderforge

Tôi chỉ nhận thấy rằng phương pháp này không tìm thấy ứng dụng ~/Library/Application Support, chẳng hạn như các trò chơi trên Steam. Các giải pháp khác không. Bạn có biết có cách nào để sửa đổi tìm kiếm để bao gồm điều đó không?
Thunderforge

1
@Thunderforge phiên bản đầu cuối không tìm thấy trò chơi Steam.
Andrea Lazzarotto

3

Các câu trả lời khác cho đến nay, từ những gì tôi hiểu, sẽ liệt kê các ứng dụng macOS 32 bit (và có thể một số nhị phân 32 bit) trong chỉ mục siêu dữ liệu. Nếu bạn muốn liệt kê mọi nhị phân chỉ thực thi 32 bit trên hệ thống của mình, hãy thực hiện bước này:

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

Nếu bạn đã cài đặt GNU findutils, điều này có thể được đơn giản hóa đáng kể. Một số điều phức tạp ở đây là khắc phục những hạn chế của các công cụ tìm kiếm BSD có trong macOS.


3

Lệnh Terminal một dòng này sẽ thu thập danh sách các ứng dụng vào một tệp văn bản trên Bàn làm việc của bạn. Nó lấy 6 dòng trước và 2 dòng sau mỗi lần xuất hiện của "(Intel): Không" trong truy vấn. Tuy nhiên, nó không đào sâu vào các nhị phân hoặc thư viện hỗ trợ 32 bit cho các ứng dụng 64 bit đã được biên dịch. Danh sách đó rộng hơn nhiều và tôi không thể tìm thấy bất kỳ tài nguyên nào giải quyết mức độ quan tâm sâu sắc hơn nếu đó thậm chí là một vấn đề.

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

2

Khi bạn chỉ cần kiểm tra một ứng dụng duy nhất:

file myapplication

Chẳng hạn, máy dò tia của tôi , rt:

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

Các filelệnh cơ bản nhìn vào nhiều loại tập tin và cố gắng xác định chúng. Đối với các tệp thực thi OSX, hầu như bạn sẽ luôn thấy một hoặc nhiều trong số này: i386, x86_64 và ppc tương ứng là các kiến ​​trúc intel / amd 32 bit, kiến ​​trúc intel / amd 64 bit và các kiến ​​trúc PC mạnh mẽ (những kiến ​​trúc này khá cũ ngay bây giờ.) Vì vậy, bạn thực sự chỉ phải quan tâm đến i386 (ứng dụng 32 bit) và x86_64 (ứng dụng 64 bit.)

Đối với các ứng dụng đóng gói, người ta phải nhấp chuột phải và Hiển thị Nội dung Gói . Trong hầu hết các ứng dụng, dưới contents → macOSmột sẽ tìm thấy một thực thi. Đường dẫn của nó nên được sử dụng làm đối số cho file.


1
Đối với file /Applications/BitTorrent.app/Contents/MacOS/BitTorrent, tôi nhận được Mach-O executable i386. Điều đó nghĩa là gì ?
ankii

Nó có nghĩa là ứng dụng này có thể thực thi được 32 bit; và hàm ý là nó sẽ không thể chạy trong các hệ điều hành 64 bit gần đây nhất của Apple.
fyngyrz

Tôi không thể tìm thấy bảng nơi tôi có thể tìm thấy ý nghĩa của những thứ như i386vv .. Bạn có thể thêm một tài liệu tham khảo như vậy không?
ankii

Các filelệnh cơ bản nhìn vào nhiều loại tập tin và cố gắng xác định chúng. Đối với các tệp thực thi OSX, hầu như bạn sẽ luôn thấy một hoặc nhiều trong số này : i386, x86_64ppctương ứng là các kiến ​​trúc intel / amd 32 bit, kiến ​​trúc intel / amd 64 bit và kiến ​​trúc PC mạnh mẽ (hiện tại đã khá cũ. ) Vì vậy, bạn thực sự chỉ phải quan tâm đến i386 (ứng dụng 32 bit) và x86_64 (ứng dụng 64 bit.) Lý do duy nhất khiến họ quan trọng là vì Apple đang bỏ hỗ trợ cho các ứng dụng 32 bit.
fyngyrz

1

Tôi vẫn tiếp tục có "Trình cắm không đáp ứng đủ nhanh trong khi thu thập thông tin này." vấn đề và không thể giải quyết nó bằng bất kỳ phương pháp được đề xuất nào.

Hóa ra có một công cụ dòng lệnh được gọi là system_profilercung cấp thông tin tương tự.

Vì vậy, tôi đã đi thẳng vào nguồn và viết một tập lệnh ruby ​​nhỏ để biên dịch một danh sách với nhiều thông tin hơn về vị trí của ứng dụng và nguồn cài đặt (khi có sẵn).

Bạn có thể tìm thấy kịch bản ở đây .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.