Computer >> Hướng Dẫn Máy Tính >  >> Xử Lý Sự Cố >> Apple

[KHẮC PHỤC] Lỗi "Damaged App Cannot be Opened" (Ứng dụng hỏng không thể mở) trên macOS

Thường xuyên chúng ta chạy ứng dụng trên hệ thống không được ký số đúng cách hoặc trong một số trường hợp, chỉ là cũ. Đối với người dùng Windows, họ thường chỉ nhận cảnh báo cùng tùy chọn chạy ứng dụng 어쨌든. Tuy nhiên, không phải trường hợp đó với Mac. Khi bạn cố gắng chạy ứng dụng không được ký số đúng hoặc phần mềm khác do cộng đồng phát triển cho mục đích khác nhau, bạn có thể gặp thông báo "Application.app is damaged and can't be opened" (Ứng dụng.app bị hỏng và không thể mở).

[KHẮC PHỤC] Lỗi  Damaged App Cannot be Opened  (Ứng dụng hỏng không thể mở) trên macOS

Lý do thông báo lỗi này xảy ra khá rõ ràng. macOS có tính năng bảo mật cụ thể kiểm tra ứng dụng bạn muốn chạy và tùy thuộc vào ký mã (code signing), cho phép ứng dụng thực thi. Tuy nhiên, trong một số kịch bản, khi ứng dụng bạn muốn chạy là phiên bản cũ và không ký số, bạn bị ném thông báo lỗi vì Gatekeeper không cho phép chạy. Ứng dụng được coi là không an toàn và do đó bạn được khuyên xóa nó.

Bây giờ, điều này có thể hữu ích trong hầu hết trường hợp nhưng có ứng dụng đáng tin cậy bị Gatekeeper phát hiện là không an toàn. Trong trường hợp đó, để khắc phục, bạn phải thay đổi System Preferences, chạy ứng dụng bằng lệnh xattr, hoặc tắt Gatekeeper tạm thời. Với đó, hãy vào các phương pháp giúp giải quyết vấn đề.

Phương pháp 1: Chạy App từ cửa sổ Terminal

Hóa ra, nếu bạn chạy cùng ứng dụng từ cửa sổ terminal với quyền superuser, nó sẽ chạy không vấn đề gì. Về cơ bản, quyền superuser sẽ ghi đè tính năng Gatekeeper và do đó ứng dụng được phép thực thi. Bạn chỉ nên làm điều này nếu bạn HOÀN TOÀN tin tưởng ứng dụng bạn muốn chạy. Làm điều này cho ứng dụng ngẫu nhiên từ internet không phải ý tưởng hay. Với đó, làm theo hướng dẫn dưới đây chạy app:

  1. Trước hết, mở cửa sổ Terminal bằng cách vào Finder > Go > Utilities (Tiện ích).[KHẮC PHỤC] Lỗi  Damaged App Cannot be Opened  (Ứng dụng hỏng không thể mở) trên macOS
  2. Từ đó, xác định và mở Terminal.
  3. Khi cửa sổ terminal sẵn sàng, dùng lệnh sau chạy ứng dụng:
    sudo xattr -cr /path/to/application.app
    [KHẮC PHỤC] Lỗi  Damaged App Cannot be Opened  (Ứng dụng hỏng không thể mở) trên macOS
  4. Mẹo nhỏ: điều hướng đến thư mục chứa app rồi kéo thả nó vào terminal. Sẽ tự động dán đường dẫn ứng dụng.
  5. Khi xong, viết sudo xattr -cr trước đường dẫn và nhấn Enter.
  6. Bạn sẽ được hỏi mật khẩu admin, cung cấp và nhấn Enter lại.
  7. App sẽ chạy ngay.

Phương pháp 2: Tắt kiểm tra tạm thời (Disable Checks Temporarily)

Cách khác loại bỏ thông báo lỗi là tắt kiểm tra toàn cục tạm thời. Như đã nói, Gatekeeper là tính năng bảo mật macOS về cơ bản kiểm tra ứng dụng bạn muốn chạy và bảo vệ hệ thống khỏi mã độc. Hóa ra, trong một số trường hợp nó coi ứng dụng không ký số bạn tải là không an toàn. Đó là lý do bạn nhận thông báo lỗi. Do đó, giải pháp thay thế dễ dàng là tắt tính năng tạm thời rồi bật lại. Cách làm:

  1. Để tắt Gatekeeper, trước tiên mở cửa sổ Terminal trên Mac.
  2. Bạn có thể làm qua Finder > Go > Utilities hoặc tìm trong Spotlight.[KHẮC PHỤC] Lỗi  Damaged App Cannot be Opened  (Ứng dụng hỏng không thể mở) trên macOS
  3. Khi Terminal chạy, thực hiện lệnh sau để tắt kiểm tra:
    sudo spctl --master-disable
    [KHẮC PHỤC] Lỗi  Damaged App Cannot be Opened  (Ứng dụng hỏng không thể mở) trên macOS
  4. Cung cấp mật khẩu admin để hoàn tất thực thi.
  5. Sau khi xong, chạy ứng dụng.
  6. Quan trọng: bạn phải bật kiểm tra lại sau khi dùng ứng dụng.
  7. Để làm điều này, chạy lệnh:
    sudo spctl --master-enable

Phương pháp 3: Cho phép ứng dụng từ Bất kỳ đâu (Allow Apps from Anywhere)

Bạn cũng có thể cho phép ứng dụng từ bất kỳ đâu chạy không vấn đề từ System Preferences của macOS. Đây là nơi cài đặt Gatekeeper và bạn chỉ cần chỉnh sửa để cho phép mọi app thực thi. Để làm điều này, làm theo hướng dẫn dưới đây:

  1. Trước hết, mở cửa sổ System Preferences (Cài đặt hệ thống) trên Mac.
  2. Sau đó, trên màn hình System Preferences, vào Security & Privacy (Bảo mật & Quyền riêng tư).
  3. Trên tab General của Security & Privacy, nhấp biểu tượng khóa để mở khóa một số tùy chọn.[KHẮC PHỤC] Lỗi  Damaged App Cannot be Opened  (Ứng dụng hỏng không thể mở) trên macOS
  4. Bạn sẽ được hỏi mật khẩu admin. Cung cấp và nhấn Enter.
  5. Sau đó, dưới "Allow applications downloaded from (Cho phép ứng dụng tải từ)", chọn tùy chọn Anywhere (Bất kỳ đâu).[KHẮC PHỤC] Lỗi  Damaged App Cannot be Opened  (Ứng dụng hỏng không thể mở) trên macOS
  6. Cuối cùng, nhấp biểu tượng khóa lại để lưu thay đổi.
  7. Khi xong, chạy ứng dụng.
  8. Đảm bảo đổi cài đặt về mặc định sau khi chạy ứng dụng. Bạn không cần nó trong tương lai cho cùng app.

Phương pháp 4: Cấp quyền (Grant Permissions)

Trong một số kịch bản, vấn đề xuất hiện do hạn chế quyền. Nếu bạn cố chạy tệp tin không có quyền thực thi, bạn có thể nhận thông báo lỗi. Trong trường hợp đó, bạn phải cấp quyền cần thiết rồi thử chạy. Để làm điều này, làm theo hướng dẫn dưới đây:

  1. Trước hết, mở cửa sổ Terminal trên Mac. Gõ sudo chmod +x trong Terminal nhưng KHÔNG nhấn Enter.
  2. Sau đó, điều hướng đến ứng dụng, nhấp chuột phải và chọn Show Package Contents (Hiển thị nội dung gói).[KHẮC PHỤC] Lỗi  Damaged App Cannot be Opened  (Ứng dụng hỏng không thể mở) trên macOS
  3. Ở đó, vào Contents > MacOS.
  4. Từ đó, tìm tệp tin có tên ứng dụng và không có phần mở rộng. Nếu chỉ có một tệp, kéo thả vào terminal.[KHẮC PHỤC] Lỗi  Damaged App Cannot be Opened  (Ứng dụng hỏng không thể mở) trên macOS
  5. Bây giờ, lệnh trông như:
    sudo chmod +x /path/to/application
  6. Cuối cùng, nhấn Enter chạy lệnh. Cung cấp mật khẩu admin.
  7. Sau đó, chạy ứng dụng và xem có giải quyết vấn đề không.