← 記事一覧へ戻る

解決方法: アップデート後に Mac で League of Legends が起動しない問題

Mac で「アプリケーション『League of Legends』を開けません」というエラーが表示されますか?これは Riot のパッチャーがアプリのコード署名を壊してしまうことで繰り返し発生する問題です。1 つのコマンドで解決する方法を解説します。

Mac で League of Legends をアップデートした後に、**「アプリケーション “League of Legends” を開けません」**というメッセージが表示されたことはありませんか?これはあなただけの問題ではありません。パッチ後に繰り返し発生する不具合で、Mac やインストール自体が壊れているわけではありません。

実際に何が起きているのか

Riot のパッチャーが League of Legends をアップデートする際、アプリバンドル内部のファイルは書き換えられますが、外側のラッパーアプリには再署名がされません。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 がアプリの起動をブロックしている状態です。

解決方法

ターミナルで以下のコマンドを 1 行実行するだけです。

codesign --force --deep --sign - "/Applications/League of Legends.app"

このコマンドは外側のアプリバンドルにアドホック署名を付け直し、macOS が再びアプリを受け入れるようにします。内部の LeagueClient.app(実際のゲームクライアント)は Riot の有効な署名を保持したままです——このコマンドは壊れたラッパー部分だけを修復します。

これで完了です。もう一度 League を開けば、通常通り起動するはずです。

なぜこの問題が繰り返し起きるのか

アプリケーションフォルダにある League of Legends.app は、実は薄いラッパーにすぎません。本体の実行ファイルは次の場所にあります。

League of Legends.app/Contents/LoL/LeagueClient.app

アプリを起動すると、まず LeagueClient が立ち上がり、それが Riot Client に処理を渡し、Riot Client が実際のゲームを管理します。Riot は毎回のアップデート後に内部の LeagueClient.app には正しく署名を行いますが、外側のラッパーは中身が変わっているため署名が無効になります。macOS はこの不整合を検知して、何も起動する前にアプリをブロックしてしまうのです。

クイックリファレンス

今後のパッチで同じ症状が出た場合も、以下のコマンドを実行するだけで解決します。

codesign --force --deep --sign - "/Applications/League of Legends.app"

再インストールも再起動も不要です。所要時間は約 2 秒です。

タグ

mactroubleshootingfix