Lỗi này thường xảy ra khi chạy ứng dụng lần đầu, đặc biệt với các ứng dụng từ nguồn ngoài App Store, bài hướng dẫn này sẽ giúp bạn khắc phục lỗi một cách nhanh chóng, dễ làm.
Lỗi “Ứng dụng không thể mở” là gì?
Lỗi này xuất hiện khi macOS không thể chạy một ứng dụng do thiếu quyền thực thi (execute permission) trên thư mục ứng dụng (.app). Thông báo lỗi thường rất mơ hồ, chỉ hiển thị: “Ứng dụng [tên ứng dụng].app không thể mở.”
Không có chi tiết, không gợi ý cách sửa, chỉ có nút OK để đóng thông báo. Điều này khiến người dùng bối rối, đặc biệt nếu bạn mới dùng macOS hoặc không quen với các công cụ dòng lệnh. Lỗi thường chỉ xảy ra lần đầu chạy ứng dụng, tuy nhiên sau khi khắc phục, ứng dụng sẽ hoạt động bình thường.
Tại sao lỗi này xảy ra?
Ngoài nguyên nhân kể trên, một số nhà phát triển, đặc biệt là các dự án độc lậpkhông thiết lập đúng quyền thực thi khi đóng gói ứng dụng. Điều này phổ biến với ứng dụng ngoài App Store, vì Apple không thể kiểm tra quyền trên các nguồn này được.
Hơn nữa, macOS có một cơ chế gọi là gatekeeper (anh em cài app xxx chắc sẽ biết phải tắt gatekeeper đầu tiên), nó sẽ chặn ứng dụng được cài đặt từ nguồn không rõ để bảo vệ người dùng (thường là ngoài App Store). Lỗi quyền thực thi đôi khi bị nhầm với lỗi Gatekeeper, nhưng chúng khác nhau. Nhìn chung, thông báo lỗi mơ hồ của Apple không giúp người dùng xác định nguyên nhân một cách chính xác.
Cách sửa lỗi “Ứng dụng không thể mở”
Lỗi “App is damaged and can’t be opened”
Lỗi này xảy ra khi bạn mở ứng dụng lên lần đầu tiên và chưa tắt Gatekeeper, nó sẽ tự động chặn ứng dụng này và bạn sẽ không thể mở được. Cách giải quyết lỗi này thì đơn giản thôi, bạn vào System Settings > Privacy & Security > kéo xuống mục Security và cho phép ứng dụng vừa bị chặn thì bạn sẽ mở được ứng dụng đó.
Lỗi crash ứng dụng
Nếu ứng dụng mở nhưng crash ngay, có thể do không tương thích với phiên bản macOS bạn đang có, đặc biệt các ứng dụng cũ 32-bit đã không còn được Apple hỗ trợ kể từ macOS 10.15 trở lên.
Bạn hãy kiểm tra xem phiên bản ứng dụng bạn đang cài đặt có hỗ trợ cho phiên bản macOS của bạn đang dùng hay không.
Quảng cáo
Tắt Gatekeeper qua Terminal (macOS Sonoma trở về trước)
Mở Terminal (Vào Finder > Applications > Utilities > Terminal, hoặc tìm “Terminal” qua Spotlight (Command + Space)).
Gõ lệnh sau và nhấn Enter:
Nhập mật khẩu quản trị (admin password) khi được yêu cầu. Lưu ý: Mật khẩu sẽ không hiển thị khi gõ, chỉ cần nhập đúng và nhấn Enter.
Sau đó, gõ lệnh để xác nhận Gatekeeper đã tắt:
Nếu kết quả là assessments disabled, Gatekeeper đã được tắt thành công.
Quảng cáo
Để bật lại Gatekeeper nếu không còn nhu cầu, nhập lệnh sau và nhấn Enter:
Tắt Gatekeeper cho macOS Sequoia trở lên
Trên macOS Sequoia, Apple đã loại bỏ lệnh spctl –master-disable và tùy chọn Anywhere trong System Settings. Bạn cần dùng configuration profile để tắt Gatekeeper. Lưu ý, nếu bạn đã tắt Gatekeeper từ macOS Sonoma thì lên Sequoia không cần phải làm gì thêm.
Trong trường hợp bạn nhập lệnh giống như mục ở trên và nó hiển thị thông báo: Globally disabling the assment system needs to be confirmed in System Settings thì hãy làm theo như sau:
Vào System Setting > Privacy & Security > Allow Application from > Anywhere > nhập mật khẩu admin để xác nhận là xong.
Trường hợp thứ hai nó sẽ hiển thị một thông báo: This operation is no longer supported. To disable the assessment subsystem, please use configuration profiles. Lúc này bạn cần đến config profile.
Bạn tải một profile theo link này trên GitHub, sau đó giải nén vài cài đặt profile. Vào System Settings > Chọn General > Device Management > Double click vào profile đang hiển thị dấu chấm than màu vàng.
Một bảng thông báo mới sẽ hiện ra > Chọn Install.
Sau đó bạn quay lại Device Management thấy hiển thị như hình trên là xong.
Hướng dẫn cài ứng dụng không cần tắt Gatekeeper
Cách này sẽ giúp cho bạn cài ứng dụng một cách thoải mái mà không cần tắt Gatekeepr, chỉ vài thao tác thôi bạn không cần làm gì quá nhiều.
Trước tiên, bạn hãy cài đặt ứng dụng theo cách bình thường như bao ứng dụng macOS khác (kéo thả file ứng dụng vào mục Applications). Sau đó, mở Terminal và gõ cho mình lệnh như bên dưới:
Ví dụ, xattr -cr /Applications/Tên ứng dụng.app
Cách tránh lỗi trong tương lai
Tốt nhất là bạn cài đặt ứng dụng từ App Store hoặc có nguồn gốc rõ ràng, với các ứng dụng được cài đặt từ App Store được Apple kiểm duyệt cách nghiêm ngặt nên độ an toàn sẽ cao hơn so với các nguồn bên ngoài.
Thứ hai, hãy đảm bảo máy tính của bạn đang chạy phiên bản macOS mới nhất, có một số ứng dụng chỉ hỗ trợ các phiên bản macOS mới, đặc biệt là các ứng dụng của Adobe. Do đó, nếu bạn chạy một phiên bản macOS quá cũ có thể sẽ không cài đặt được ứng dụng.
Nguồn: Tinhte.vn