コマンドラインツール(xcodebuild
)を使用してアプリケーションアーカイブをエクスポートしています。codesign --keychainが無効になる
xcodebuild -workspace "${WORKSPACE_PATH}" \
-scheme "${SCHEME_NAME}" \
-archivePath "${PROJECT_ARCHIVE}" \
-configuration "${CONFIGURATION}" \
-sdk "${TARGET_SDK}" \
DEVELOPMENT_TEAM="XXXXXXXX" \
OTHER_CODE_SIGN_FLAGS="--keychain /Users/user/Library/Keychains/jenkins.keychain" \
archive
そして、これが結果です::基本的にこれは私が実行しているものです
Check dependencies
No signing certificate "iOS Development" found: No "iOS Development" signing certificate matching team ID "XXXXXXX" with a private key was found.
Code signing is required for product type 'Application' in SDK 'iOS 10.2'
** ARCHIVE FAILED **
The following build commands failed:
Check dependencies
(1 failure)
$ echo $?
65
codesign
が--keychainパラメータを無視しているため、コード署名に失敗しました。ここに興味深い部分があります。私が使用したいキーチェーンはjenkins.keychain-db
です(上で指定した通りです)。それは確かに動作しません。ここに私のキーチェーンの検索リストは次のようになります。それがあるべきよう
$ security list-keychains
"/Users/user/Library/Keychains/login.keychain-db"
"/Library/Keychains/System.keychain"
明らかjenkins.keychain-db
がそこにはありません。検索リストにjenkins.keychain-db
を追加すると、検索リストが機能し始めます。
私は同じ秘密鍵と証明書を持つ複数のキーチェーンを持っているため、残念ながらこれは私にとっては解決策ではありません。これにより、xcodebuildは最初にというという証明書を受け取るようになり、キーチェーンがロックされていない可能性があるため、失敗する証明書が見つかることがあります。
を? –