修正: MacOSで破損したアプリを開くことができないエラー

私たちはしばしば、正しく署名されていない、あるいは単に古いアプリケーションをシステム上で実行することがあります。Windowsユーザーの場合、多くの場合、警告と、そのアプリケーションを実行するオプションが表示されるだけです。しかし、Macシステムに関してはそうではありません。正しくデジタル署名されていないアプリケーションや、コミュニティによって異なる目的で開発された他のソフトウェアを実行しようとすると、「Application.app is damaged and can’t be opened」というエラーメッセージが表示されることがあります。

このエラーメッセージが発生する理由はとても明白です。 macOSには特定のセキュリティ機能があり、実行したいアプリケーションをチェックし、コード署名の有無によって、アプリケーションの実行を許可しています。しかし、あるシナリオでは、実行したいアプリが古くて署名されていないバージョンの場合、Gatekeeperが実行を許可しないため、上記のエラーメッセージが投げられます。そのアプリは安全でないものとして扱われるため、削除することが推奨されます。

しかし、信頼できるアプリであっても、Gatekeeperのセキュリティ機能によって安全でないと判断される場合があります。このような場合は、システム環境設定を変更するか、xattrコマンドを使用してアプリケーションを実行するか、またはGatekeeperをしばらくの間、完全に無効にすることで問題を解決できます。それでは、この問題を解決するための様々な方法をご紹介します。

方法1: ターミナルウィンドウからアプリを実行する

スーパーユーザの権限で、同じアプリケーションをターミナルウィンドウから実行すると、問題なく実行できることがわかった。基本的に、スーパーユーザー権限で実行すると、ゲートキーパー機能が無効になり、アプリケーションの実行が許可されます。この操作は、実行したいアプリケーションが完全に信頼できる場合にのみ行う必要があります。インターネットから入手した任意のアプリケーションに対してこの操作を行うのは良いアイデアではありません。というわけで、以下の手順でアプリを実行してください。

  • まず最初に、Finder > Go > Utilities.Mac Finderに移動してターミナルウィンドウを開いてください。
  • そこからターミナルを探し、開きます。
  • sudo xattr -cr /path/to/application.appターミナルからアプリを実行する。
  • アプリがあるディレクトリに移動して、それをターミナルウィンドウにドラッグ&ドロップするのも良い方法です。そうすると、自動的にアプリケーションのパスが貼り付けられます。
  • そうしたら、パスの前にsudo xattr -crと書いて、Enterキーを押してください。
  • 管理者パスワードを聞かれるので、それを入力し、再度Enterキーを押します。
  • これでアプリが実行されるはずです。
  • 方法2:チェックを一時的に無効にする

    エラーメッセージを解消するもう一つの方法は、グローバルチェックを一時的に無効にすることです。上記で述べたように、ゲートキーパーはmacOSのセキュリティ機能で、基本的に実行したいアプリをチェックし、マルウェアからシステムを保護するものです。そのため、場合によっては、ダウンロードした特定のアプリの署名がないものを安全でないものとして扱ってしまうことがあります。そのため、上記のエラーメッセージが表示されます。そのため、この機能を一時的に無効にしてから、再度有効にすることで簡単に回避することができます。以下にその方法を説明します。

  • Gatekeeper を無効にするには、まず Mac デバイスでターミナルウィンドウを開く必要があります。
  • Finder > Go > Utilities、またはSpotlight.Mac Finderで検索することができます。
  • ターミナルが起動したら、以下のコマンドを実行してチェックを無効化します:sudo spctl –master-disableDisabling Global Checks
  • 管理者パスワードを入力し、実行を完了します。
  • 実行が完了したら、アプリケーションを実行してください。
  • アプリケーションを使用した後、チェックを再度有効にすることが重要です。
  • これを行うには、次のコマンドを実行します:sudo spctl –master-enable
  • 方法3:どこからでもアプリを許可する

    macOSのシステム環境設定から、どこからでも問題なくアプリを実行できるようにすることもできます。これはGatekeeperの設定がある場所なので、それを編集してすべてのアプリの実行を許可すればいいのです。これを行うには、以下の手順に従ってください。

  • まず、Macのシステム環境設定ウィンドウを開いてください。
  • システム環境設定の画面で、「セキュリティとプライバシー」に進みます。
  • セキュリティとプライバシー」の「一般」タブで、ロックアイコンをクリックし、いくつかのオプションのロックを解除します。
  • 管理者パスワードを要求されます。パスワードを入力し、Enterキーを押します。
  • 次に、「ダウンロードしたアプリケーションを許可する」で、「どこでも」を選択します。
  • 最後にもう一度鍵のアイコンをクリックし、変更を保存します。
  • それができたら、アプリケーションを実行します。
  • アプリケーションを起動したら、必ず設定をデフォルトに戻してください。今後、同じアプリを使用する際には必要ありません。
  • 方法4:アクセス権を付与する

    シナリオによっては、パーミッションの制限が原因で問題が表示されることがあります。実行可能なアクセス権を持っていないファイルを実行しようとすると、前述のエラーメッセージが表示される可能性があります。このような場合、必要なパーミッションを与えてから実行する必要があります。そのためには、以下の手順に従ってください。

  • まず、Macでターミナルウィンドウを開きます。ターミナルウィンドウにsudo chmod +xと入力します(Enterは押さないでください)。
  • 次に、アプリケーションに移動し、それを右クリックし、パッケージの内容を表示するを選択します。
  • そこで、Contents > MacOSに移動します。
  • そこから、アプリケーション名で拡張子がないファイルを探します。ファイルが1つしかない場合は、ターミナルウィンドウにドラッグ&ドロップすればOKです。
  • sudo chmod +x /path/to/application のようなコマンドを実行します。
  • 最後にEnterキーを押して、コマンドを実行します。adminのパスワードを入力してください。
  • その後、アプリケーションを実行し、問題が解決するかどうかを確認します。
  • Scroll to Top