6

コード署名をビルドに統合し、ソース コード ツリー内に保持され、コードに署名するために使用されるカスタム キーチェーンを作成しました (~/Library/Keychains使用する前にコピーされるため、既知の場所にあります)。

ただし、署名しようとするとエラーが発生します。

$ /usr/bin/codesign --sign='Mac Developer: John Doe (AA1AAA1AAA)' \
    --keychain=~/Library/Keychains/xxx.keychain \
    dist/64/gmake/release/bin/libmylib.dylib

Mac Developer: John Doe (AA1AAA1AAA): no identity found

でも:

$ security find-identity -p codesigning ~/Library/Keychains/xxx.keychain

Policy: Code Signing
  Matching identities
  1) 49F2FBE79899DF18A9638AC6B1302E2EB6E079AD "Mac Developer: John Doe (AA1AAA1AAA)"
     1 identities found

  Valid identities only
  1) 49F2FBE79899DF18A9638AC6B1302E2EB6E079AD "Mac Developer: John Doe (AA1AAA1AAA)"

だから、なぜcodesignアイデンティティを見つけることができないのか理解できません。

誰でも解決策を提案できますか?

ID の SHA-1 でも試してみましたが、結果は同じでした。

4

1 に答える 1

9

codesign のエラー メッセージの一部は、明確ではありません。ここでの問題は、コードサインがキーチェーンを見つけられなかったことであり、これは--keychain=~/path. これは単一の引数として解釈され、チルダ展開は実行されません。別の引数を使用するようにコマンドを変更すると、期待どおりに動作するはずです。

codesign --sign 'Mac Developer: John Doe (AA1AAA1AAA)' \
    --keychain ~/Library/Keychains/xxx.keychain \
    dist/64/gmake/release/bin/libmylib.dylib
于 2013-10-07T16:28:07.353 に答える