해결: 업데이트 후 Mac에서 리그 오브 레전드가 열리지 않을 때
Mac에서 'The application League of Legends can't be opened' 메시지가 뜬다면? 라이엇 패처가 앱의 코드 서명을 망가뜨려서 생기는 반복적인 문제예요. 명령어 한 줄로 해결하는 방법을 알려드릴게요.
Mac에서 리그 오브 레전드를 업데이트한 뒤 “The application League of Legends can’t be opened” 메시지를 본 적 있다면, 혼자만 겪는 문제가 아니에요. 패치가 나올 때마다 반복되는 이슈인데, Mac이나 설치 파일이 망가져서 생기는 문제는 전혀 아니에요.
실제로 무슨 일이 일어나는 걸까요
라이엇 패처가 롤을 업데이트할 때, 앱 번들 안쪽의 파일들은 수정하지만 바깥쪽 래퍼(wrapper) 앱은 다시 서명하지 않아요. macOS는 Gatekeeper를 통해 코드 서명을 확인해서 앱이 변조되지 않았는지 검증해요. 서명이 일치하지 않으면 macOS는 앱 실행 자체를 거부해 버려요.
이 문제가 맞는지 확인하려면 다음 명령어를 실행해 보세요.
spctl --assess --type execute "/Applications/League of Legends.app"
아래와 비슷한 메시지가 나온다면,
/Applications/League of Legends.app: invalid resource directory
(directory or signature have been modified)
Gatekeeper가 앱을 차단하고 있는 거예요.
해결 방법
터미널에서 명령어 한 줄이면 끝나요.
codesign --force --deep --sign - "/Applications/League of Legends.app"
이 명령어는 바깥쪽 앱 번들을 임시(ad-hoc) 서명으로 다시 서명해서 macOS가 다시 받아들이게 해요. 안쪽의 LeagueClient.app(실제 게임 클라이언트)는 라이엇의 유효한 서명을 그대로 유지하고 있어요. 이 명령어는 망가진 바깥쪽 래퍼만 고치는 거예요.
이게 전부예요. 다시 롤을 실행하면 정상적으로 켜질 거예요.
왜 이런 일이 계속 생기는 걸까요
응용 프로그램 폴더에 보이는 League of Legends.app은 사실 얇은 래퍼일 뿐이에요. 실제 실행 파일은 여기에 있어요.
League of Legends.app/Contents/LoL/LeagueClient.app
앱을 실행하면 LeagueClient가 켜지고, 이게 라이엇 클라이언트로 넘어가서 실제 게임을 관리해요. 라이엇은 업데이트마다 안쪽의 LeagueClient.app을 제대로 서명하지만, 바깥쪽 래퍼는 내용물이 바뀌면서 서명이 무효화돼요. macOS는 이 불일치를 보고 아예 실행 자체를 막아 버려요.
빠른 참조용
다음 패치 이후에 또 이 문제가 생기면, 이 명령어만 다시 실행하면 돼요.
codesign --force --deep --sign - "/Applications/League of Legends.app"
재설치도 필요 없고, 재부팅도 필요 없어요. 2초면 끝나요.