logo
Posted on

Khắc phục lỗi "is damaged and can't be opened" trên macOS

Authors

Nguyên nhân

Do cơ chế xác thực ứng dụng của Apple, chỉ những ứng dụng được Apple xác thực mới có thể chạy bình thường.

Giải pháp

Tắt GateKeeper

  • Mở ứng dụng Terminal.
  • Chạy lệnh:
sudo spctl --master-disable
  • Nhập mật khẩu và nhấn Enter.
  • Mở ứng dụng System Preferences và truy cập Security & Privacy, kiểm tra xem có hiện mục Anywhere không, nếu hiện là OK.
System Preferences
  • Tắt và chạy lại ứng dụng.

Note:

  • Nếu bạn muốn bật GateKeeper thì mở Terminal và chạy lệnh sau:
sudo spctl --master-enable
  • Kiểm tra GateKeeper đang bật hay đang tắt bằng lệnh:
spctl --status

Kết quả trả về:

assessments enabled: GateKeeper đang bật.

assessments disabled: GateKeeper đang tắt.

Thêm ngoại lệ để cho phép ứng dụng chạy

Trong một số trường hợp, dù đã tắt GateKeeper nhưng vẫn chưa khắc phục được thì bạn có thể thử cách này.

  • Mở ứng dụng Terminal.
  • Chạy lệnh:
sudo xattr -rd com.apple.quarantine /Applications/AppName.app

Note: Thay /Applications/AppName.app bằng đường dẫn đến app bạn cần thêm ngoại lệ.

  • Nhập mật khẩu và nhấn Enter.