맥을 사용하다 보면 서명이 제대로 되지 않았거나 오래된 애플리케이션을 실행해야 하는 경우가 종종 있습니다. 윈도우 사용자라면 경고 메시지와 함께 "그래도 실행" 옵션이 제공되지만, macOS에서는 상황이 다릅니다. 디지털 서명이 올바르지 않거나 커뮤니티에서 개발한 앱을 실행하려고 하면 "Application.app이 손상되어서 열 수 없습니다"라는 오류 메시지가 나타날 수 있습니다.

이 오류가 발생하는 이유는 비교적 명확합니다. macOS에는 실행하려는 앱의 코드 서명 여부를 확인하는 보안 기능인 Gatekeeper(게이트키퍼)가 내장되어 있으며, 서명되지 않은 오래된 앱은 안전하지 않은 것으로 간주되어 실행이 차단됩니다. 이 경우 시스템은 해당 앱을 삭제할 것을 권장하기도 합니다.
대부분의 경우 이러한 보안 장치는 매우 유용하지만, 신뢰할 수 있는 앱임에도 불구하고 Gatekeeper가 위험 앱으로 오판하는 경우가 있습니다. 이런 상황에서는 시스템 환경설정 변경, xattr 명령어를 통한 실행, 또는 일시적으로 Gatekeeper를 비활성화하는 방법으로 문제를 해결할 수 있습니다. 아래에서 각 방법을 자세히 살펴보겠습니다.
방법 1: 터미널에서 앱 실행하기
슈퍼유저(superuser) 권한으로 터미널에서 앱을 실행하면 Gatekeeper를 우회하여 정상적으로 실행할 수 있습니다. 단, 반드시 완전히 신뢰할 수 있는 앱에만 이 방법을 사용해야 하며, 인터넷에서 무작위로 받은 앱에 적용하는 것은 매우 위험합니다.
- Finder > 이동 > 유틸리티로 이동하여 터미널(Terminal)을 엽니다.

- 터미널 창이 열리면 다음 명령어를 입력합니다.
sudo xattr -cr /path/to/application.app

- 팁: 앱이 있는 폴더를 연 후 앱 파일을 터미널 창으로 드래그 앤 드롭하면 경로가 자동으로 입력됩니다.
- 경로 앞에 sudo xattr -cr을 입력하고 Enter 키를 누릅니다.
- 관리자 비밀번호를 요구하면 입력한 뒤 다시 Enter 키를 누릅니다.
- 이제 앱이 정상적으로 실행될 것입니다.
방법 2: Gatekeeper 검사 일시적으로 비활성화하기
Gatekeeper는 실행하려는 앱을 검사하여 맬웨어로부터 시스템을 보호하는 macOS의 보안 기능입니다. 다만 일부 서명되지 않은 앱을 안전하지 않은 것으로 잘못 판단하기 때문에 오류가 발생하는 것이므로, 이 기능을 잠시 끈 후 앱을 실행하고 다시 켜는 방식으로 문제를 해결할 수 있습니다.
- 터미널을 엽니다. Finder > 이동 > 유틸리티에서 열거나 Spotlight(스포트라이트)에서 "터미널"을 검색하면 됩니다.

- 터미널이 실행되면 다음 명령어를 입력하여 검사 기능을 비활성화합니다.
sudo spctl --master-disable

- 관리자 비밀번호를 입력하여 명령 실행을 완료합니다.
- 이제 문제가 되던 앱을 실행합니다.
- 중요: 앱 사용을 마친 후에는 반드시 검사 기능을 다시 활성화해야 합니다.
- 재활성화하려면 다음 명령어를 실행합니다.
sudo spctl --master-enable
방법 3: 모든 곳(App Anywhere)에서 다운로드한 앱 허용하기
macOS 시스템 환경설정에서 Gatekeeper 설정을 직접 수정하여 모든 출처의 앱 실행을 허용할 수도 있습니다. 절차는 다음과 같습니다.
- 맥에서 시스템 환경설정(System Preferences)을 엽니다.
- 보안 및 개인 정보 보호(Security & Privacy)로 이동합니다.
- '일반' 탭에서 자물쇠 아이콘을 클릭하여 설정을 잠금 해제합니다.

- 관리자 비밀번호를 입력하고 Enter 키를 누릅니다.
- "다음 위치에서 다운로드한 응용 프로그램 허용" 항목에서 모든 곳(Anywhere)을 선택합니다.

- 다시 자물쇠 아이콘을 클릭하여 변경 사항을 저장합니다.
- 이제 앱을 실행합니다.
- 주의: 앱 실행이 완료되면 반드시 설정을 기본값으로 되돌리세요. 동일한 앱을 위해 이 설정을 계속 유지할 필요는 없습니다.
방법 4: 실행 권한 부여하기
권한 제한으로 인해 문제가 발생하는 경우도 있습니다. 실행 권한이 없는 파일을 실행하려고 하면 해당 오류 메시지가 나타날 수 있으며, 이 경우 chmod 명령어로 실행 권한을 부여하면 됩니다.
- 터미널을 열고 sudo chmod +x를 입력하되 아직 Enter 키는 누르지 않습니다.
- 앱을 우클릭한 뒤 패키지 내용 보기(Show Package Contents)를 선택합니다.

- Contents > MacOS 폴더로 이동합니다.
- 앱 이름과 동일하고 확장자가 없는 파일을 찾습니다. 파일이 하나뿐이라면 그 파일을 터미널 창으로 드래그 앤 드롭합니다.

- 완성된 명령어는 다음과 같은 형태입니다.
sudo chmod +x /path/to/application
- Enter 키를 눌러 명령을 실행하고 관리자 비밀번호를 입력합니다.
- 이후 앱을 실행하여 문제가 해결되었는지 확인합니다.