web-dev-qa-db-ja.com

ゲートキーパー用に既存のMacOS X .appファイルをコード署名する方法は?

Apple付きの開発者ライセンスを取得するために99ドルを支払いました。 Xcode4.3をインストールしました。オーガナイザーと「プロビジョニングプロファイル」に移動し、更新してコード署名証明書をダウンロードしました。キーチェーンアクセスをチェックし、「サードパーティのMac開発者」、「開発者ID」および「Mac開発者*」の証明書を持っていることを確認しました。

この時点で、Appleのドキュメントにプロジェクトファイルのプルアップについて記載されています。Windowsアプリケーションのパッケージ化にWineskinを使用しているため、Xcodeプロジェクトはありません。appファイルがあります。 Wineskinを作成しました。Wineskinが作成した.appファイルにコード署名したいと思います。

私が試した:codesign -s "certificate name" /path/to/my.app

キーチェーンアクセスから、自分の名前と「アプリケーション」という単語が含まれている可能性のあるすべての証明書名を試しました。

「/path/to/my.app:オブジェクトファイル形式が認識されない、無効、または不適切」というエラーが表示されるたびに

このエラーを乗り越える方法について何かアイデアはありますか?私も適切なコマンドを試みていますか?それとも私が行くべき別の方法がありますか?

12
Troy

質問へのコメントを要約すると、Gatekeeperの.appファイルに署名するために実行するコマンドは次のとおりです。

export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/usr/bin/codesign_allocate"
codesign --force --sign "Developer ID Application: <my name>" /path/to/my.app

ありがとう、ゴードン・ダヴィソンとJWWalker!

(編集)これが失敗した場合、XCode内から「コマンドラインツール」をインストールする必要があることに気付きました。

編集:確認するには

$ codesign -dv --verbose=4 my.app

Apple IDアカウントで、証明書の種類が少ないことを確認しますか?

enter image description hereenter image description hereenter image description here

15
Troy

Codesignコマンドを使用する前に

  1. https://developer.Apple.com/downloads/index.action セクションからXcode用のコマンドラインツールをインストールします。 (追加ツールをダウンロードするには、開発者アカウントが必要です。)

  2. (.DStore)のようなペイロードフォルダに隠しファイルがあるかどうかを確認し、ある場合は削除してください

    • cdコマンドを使用してターミナル経由でペイロードフォルダに移動します
    • ターミナルでls-コマンドを入力します
    • 隠しファイルが離れている場合は、rm -f.DStoreで削除します。

この解決策は私のために働いたので、試してみてください....

0
asdf