E0264 '"/usr/bin/codesign" ...' を実行できません

提供: RAD Studio
移動先: 案内検索

プラットフォーム アシスタント サーバーのエラー:インデックス への移動


Mac で codesign を実行しましたが、エラーで終了しました。考えられる原因はいくつかありますが、まず以下を確認しなければなりません。

一致する証明書がプラットフォーム アシスタント サーバーで見つからない

エラー メッセージには以下の行が含まれる可能性があります。

<構成した証明書名>: ID が見つかりません

この行が表示された場合は、codesign の呼び出しの際に -s コマンド ライン オプションで指定した文字列が、お使いの Mac にインストールされているどの証明書の名前とも一致しないことを意味します。

有効な証明書がお使いの Mac にインストールされていることを確かめるには、以下を行います。

  1. お使いの Mac で[キーチェーンアクセス]を開きます。
  2. [キーチェーン]の中の[ログイン]を選択します。
  3. [分類]の中の[自分の証明書]を選択します。

[キーチェーンアクセス]の画面中央のリストに、ターゲットとするプラットフォーム構成([macOS - アプリケーション ストア])に対応する有効な証明書が含まれているはずです。つまり、サードパーティ Mac デベロッパ アプリケーション証明書とサードパーティ Mac デベロッパ インストーラ証明書です。

これらの有効な証明書がない場合は、取得する必要があります。 「macOS アプリケーションのプロビジョニング」を参照してください。

有効な証明書はあるものの、codesign の呼び出しの際に -s コマンド ライン オプションで指定した文字列が、[macOS - アプリケーション ストア]の[キーチェーンアクセス]に一覧表示されるどの証明書の名前とも一致しない場合は、RAD Studio を適切な証明書名で構成する必要があります。「RAD Studio でのプロビジョニング プロファイルの構成」を参照してください。

指定された証明書名があいまい

エラー メッセージには以下の行が含まれる可能性があります。

<構成した証明書名>: あいまいです (/Users/<ユーザー名>/Library/Keychains/login.keychain 内の "<証明書名 1>" と "<証明書名 2>" に一致します)

Mac 上で[キーチェーン アクセス]アプリケーションを開き、[自分の証明書]を選択し、有効期限が切れた証明書を削除します。有効期限が切れた証明書を削除した後に、証明書の一覧に同じ名前の証明書とコードが含まれていてはいけません。

macOS ターゲット プラットフォーム用アプリケーションにコード署名する場合、RAD Studio で、macOS - アプリケーション ストア をターゲットとしたプロビジョニングページを開き、サードパーティ Mac 証明書の完全名を指定します。たとえば「3rd Party Mac Developer Application: YourTeamName (AB345ZC79)」または「3rd Party Mac Developer Installer: YourTeamName (AB345ZC79)」のように指定します。

codesign に対する実行権限の取得

codesign を実行するには、/usr/bin/codesign に対する実行権限が必要です。/usr/bin/codesign に対する権限を確認するには、[ターミナル]ウィンドウを開いて以下を実行します。

$ ls -l /usr/bin/codesign

出力の冒頭が "-rwxr-xr-x" という文字列になるはずです。出力がこれとは異なる文字列(たとえば -rwxr--r-- など)で始まる場合は、以下のコマンドを実行して、codesign を実行する権限を取得します。

$ sudo chmod +x /usr/bin/codesign

ユーザーが操作をキャンセルした

このメッセージは、アプリケーションに署名する権限が codesign に与えられなかったことを示します。RAD Studio がアプリケーションに署名するために使おうとしている証明書が、アクセスする前に確認が必要なものである場合、codesign は配置中に[codesign はキーチェーンに含まれるキー <キー名> を使用して署名しようとしています。]というダイアログを表示して、ユーザーの許可を求めます。ユーザーは、操作を[拒否][許可]、または[常に許可]することができます。

アプリケーションが証明書を使用する権限をユーザーが手動で拒否しなくても、このエラーが発生する可能性があります。以下の手順でデベロッパ証明書のアクセス権を確認してください。

  1. macOS で[キーチェーン アクセス]を開きます。
  2. [自分の証明書]を選択し、確認したい証明書を展開します。
  3. 秘密鍵を右クリックし、[情報を見る]をクリックします。
  4. [アクセス制御]タブを開きます。
  5. どの項目が選択されているかを確認します。
    1. [アクセスを許可する前に確認]が選択されている場合、アプリケーションでこの証明書を使おうとするたびに macOS にダイアログが表示されます。
    2. [この項目の使用をすべてのアプリケーションに許可 この項目へのアクセスは制限されていません。]が選択されている場合、この証明書を使用するのに権限は必要ありません。
  6. [この項目の使用をすべてのアプリケーションに許可 この項目へのアクセスは制限されていません。]を選択します。

関連項目