目次
私たちはしばしば、正しく署名されていない、あるいは単に古いアプリケーションをシステム上で実行することがあります。Windowsユーザーの場合、多くの場合、警告と、そのアプリケーションを実行するオプションが表示されるだけです。しかし、Macシステムに関してはそうではありません。正しくデジタル署名されていないアプリケーションや、コミュニティによって異なる目的で開発された他のソフトウェアを実行しようとすると、「Application.app is damaged and can’t be opened」というエラーメッセージが表示されることがあります。
このエラーメッセージが発生する理由はとても明白です。 macOSには特定のセキュリティ機能があり、実行したいアプリケーションをチェックし、コード署名の有無によって、アプリケーションの実行を許可しています。しかし、あるシナリオでは、実行したいアプリが古くて署名されていないバージョンの場合、Gatekeeperが実行を許可しないため、上記のエラーメッセージが投げられます。そのアプリは安全でないものとして扱われるため、削除することが推奨されます。
しかし、信頼できるアプリであっても、Gatekeeperのセキュリティ機能によって安全でないと判断される場合があります。このような場合は、システム環境設定を変更するか、xattrコマンドを使用してアプリケーションを実行するか、またはGatekeeperをしばらくの間、完全に無効にすることで問題を解決できます。それでは、この問題を解決するための様々な方法をご紹介します。
方法1: ターミナルウィンドウからアプリを実行する
スーパーユーザの権限で、同じアプリケーションをターミナルウィンドウから実行すると、問題なく実行できることがわかった。基本的に、スーパーユーザー権限で実行すると、ゲートキーパー機能が無効になり、アプリケーションの実行が許可されます。この操作は、実行したいアプリケーションが完全に信頼できる場合にのみ行う必要があります。インターネットから入手した任意のアプリケーションに対してこの操作を行うのは良いアイデアではありません。というわけで、以下の手順でアプリを実行してください。
方法2:チェックを一時的に無効にする
エラーメッセージを解消するもう一つの方法は、グローバルチェックを一時的に無効にすることです。上記で述べたように、ゲートキーパーはmacOSのセキュリティ機能で、基本的に実行したいアプリをチェックし、マルウェアからシステムを保護するものです。そのため、場合によっては、ダウンロードした特定のアプリの署名がないものを安全でないものとして扱ってしまうことがあります。そのため、上記のエラーメッセージが表示されます。そのため、この機能を一時的に無効にしてから、再度有効にすることで簡単に回避することができます。以下にその方法を説明します。
方法3:どこからでもアプリを許可する
macOSのシステム環境設定から、どこからでも問題なくアプリを実行できるようにすることもできます。これはGatekeeperの設定がある場所なので、それを編集してすべてのアプリの実行を許可すればいいのです。これを行うには、以下の手順に従ってください。
方法4:アクセス権を付与する
シナリオによっては、パーミッションの制限が原因で問題が表示されることがあります。実行可能なアクセス権を持っていないファイルを実行しようとすると、前述のエラーメッセージが表示される可能性があります。このような場合、必要なパーミッションを与えてから実行する必要があります。そのためには、以下の手順に従ってください。