Kudos
Collect
Twiiter
Facebook
Share
개발의 'ㄱ'자라도 아는 날을 기대하며...

맥 앱을 실행했을 때 “손상되었기 때문에 열 수 없습니다.” 문제 해결방법

Last updated over 4 years ago
1 0 0 0
앱이 손상되었기 때문에 휴지통으로 이동해야한다는 메시지
앱이 손상되었기 때문에 휴지통으로 이동해야한다는 메시지

앱스토어에서 제공하는 앱이 아닌 개발자가 직접 홈페이지에서 제공하는 앱일 경우 실행했을 때 아래와 같은 메시지가 뜨면서 실행히 안되는 경우가 있습니다.

손상되었기 때문에 열 수 없습니다. 해당 항목을 휴지통으로 이동해야 합니다.

이와 같은 메시지가 나타나는 경우는 맥의 보안 기능 Gatekeeper 가 앱의 문제점을 발견했거나 아니면, 앱이 정상적으로 다운되지 않아서 파일이 깨졌거나 혹은 개발자가 문제(?)있는 앱을 배포했을 경우로 생각해볼 수 있습니다.

정상적으로 다운되지 않아서 파일이 손상되었다면 파일을 다시 새로 받아보고, 문제(?)있는 앱일 경우에는 개발자가 제대로 된 앱을 배포하길 기대하는 수밖에 없지만, Gatekeeper 문제일 경우에는 터미널 명령어로 앱을 실행할 수 있습니다.
( Gatekeeper 와 함께 시스템 무결성 보호(SIP - System Integrity Protection) 기능도 꺼줘야합니다. SIP 해제 방법은 아래에 설명하겠습니다. )

$ sudo spctl --master-disable

그럼, 이제 터미널에 입력해볼까요?

터미널에 Gatekeeper 비활성화 명령어 입력 방법

1. 시스템 환경 설정 확인

우선, 시스템 환경설정 > 보안 및 개인 정보 보호 > 일반탭에서 다음에서 다운로드한 앱 허용: 부분을 보게 되면 아래 이미지와 같을 것입니다.

“보안 및 개인 정보 보호” 화면
“보안 및 개인 정보 보호” 화면

위 화면을 확인했다면, 터미널에 명령어를 입력합니다.

2. 터미널에 ‘Gatekeeper’ 비활성화 명령어 입력

터미널에서 아래 명령어를 입력하고 맥 계정 암호를 입력합니다.

$ sudo spctl --master-disable
Password:

이제 다시 시스템 환경설정 > 보안 및 개인 정보 보호 > 일반탭의 다음에서 다운로드한 앱 허용: 부분에 추가된 모든 곳 옵션을 선택하면 앱을 실행할 수 있습니다.

“모든 곳” 옵션이 추가된 화면
“모든 곳” 옵션이 추가된 화면

Gatekeeper 비활성화 명령어를 한 번 입력하면, macOS 를 업데이트 하지 않는 이상 명령어를 다시 입력하지 않아도 모든 곳 옵션이 추가된 상태로 사용할 수 있지만, 안전을 위해 Gatekeeper 를 다시 활성화시키는 것도 좋습니다.

추가) Gatekeeper 활성화 명령어

Gatekeeper 활성화 명령어는 다음과 같습니다.

$ sudo spctl --master-enable

Gatekeeper 를 비활성화 한 다음, SIP (시스템 무결성 보호) 기능도 해제합니다.

SIP 해제 방법

1. 복구모드 진입

부팅할 때, ⌘command + R 버튼으로 리커버리 모드로 들어갑니다.

2. 터미널에서 SIP 해제 명령어 입력

SIP 을 해제하는 명령어는,

$ csrutil disable

해제되었는지 확인하는 명령어는,

$ csrutil status

입니다.

추가) SIP 활성화 방법

복구모드 진입 → 터미널에서 아래 명령어 입력

$ csrutil enable

또는

복구모드 진입 없이 터미널에서 아래 명령어 입력

$ sudo /usr/bin/csrutil clear

참조사이트

안녕하세요?^^ 개발자라는 소리를 듣고 싶어 늦은 나이에 개발의 세계에 몸담게 된 Brad 라고 합니다. 아직 개발의 'ㄱ' 자도 모르지만, 개발을 배우면서 알게되는 것들을 림프에 정리해보려고 합니다. 저의 부족한 글이 누군가에게 조금이나마 도움이 되길 바랍니다.

Essedrop - Make your file online instantly
 

Responses

Leave a response to @brad

Please sign in to comment.
Markdown is also available in comment.