IOSアプリケーションのコード署名を試みました。これらは私が従った手順です
security create-keychain -p password ${KEYCHAIN}
security set-keychain-settings -u -t 300 ${KEYCHAIN}
security list-keychains -d user -s login.keychain ${KEYCHAIN}
security import "$1" -k ${KEYCHAIN} -A -P "${PASSPHRASE}" -A >/dev/null
security unlock-keychain -p password ${KEYCHAIN}
/usr/bin/codesign -f -s $IDENTITY --keychain $KEYCHAIN --entitlements $ENTITLEMENTS Payload/Test.app
これにより、Codesignがssh経由で不明なエラー-1 = ffffffffffffffffを返しました。
マシンでコード署名コマンドを直接実行すると、正常に署名されます。
この問題はMac OS Sierraでのみ発生します。
少し前に同じ問題を抱えていましたが、
security set-key-partition-list -S Apple-tool:,Apple:,codesign: -s -k password ${KEYCHAIN}
私のためにそれを解決しました。
私はここで言及したものよりもいくつかのことを試さなければならなかったのと同様にチップインするつもりです:問題はキーチェーンがSSHセッションを好きではないということでした。セッションで修正するにはこれらを実行する必要がありました。
security unlock-keychain -p MY_PASS ~/Library/Keychains/login.keychain
security set-key-partition-list -S Apple-tool:,Apple:,codesign: -s -k MY_PASS ~/Library/Keychains/login.keychain
security set-keychain-settings ~/Library/Keychains/login.keychain
また、XCodeからアカウントを削除することで現在の証明書システム/アカウント証明書を削除しました(構築にはfastlaneを使用しています)が、これが影響を与えてはならないと考えています。
@madhu同じ問題を修正しようとしていて、問題の証明書に関連付けられたキーのアクセス制御がJenkinsで機能しなかった「アクセスを許可する前に確認」に設定されていることがわかりました。 「キーチェーンアクセスGUI-情報の取得、アクセス制御」を「すべてのアプリケーションがこのアイテムにアクセスできるようにする」に変更し、ビルドが成功しました。
KeyChainからp12などのファイルをエクスポートした可能性があります。OSがルートパスワードを要求し、それを拒否した場合、Xcodeはこの情報を使用して符号エラーをコーディングします。
もしそうなら、上記のアクションを繰り返し、パスワードを入力して「許可」をクリックする必要があります。そうすれば、コード署名をしても大丈夫です。
これは、キーレスプロンプトが表示または応答できないため、ヘッドレスビルドで発生します。解決策は、事前にキーへのアクセスを許可することにより、プロンプトが表示されないようにすることです。
キーチェーンアクセスを開き、署名証明書のキーを見つけます(ログイン->証明書、次に証明書を展開してそのキーを表示します)。キーを右クリックして「情報の取得->アクセス制御」を選択し、「すべてのアプリケーションにこのアイテムへのアクセスを許可する」を選択します。
私はほとんどすべての既存の提案をウェブ上で試しましたが、どれも助けになりませんでした...
最後に、プロビジョニングプロファイル(AdHoc用)を再生成し、再ダウンロードして~/Library/MobileDevice/Provisioning Profiles/
既存のものを上書きすると、命が救われました。
ところで、AppStoreのビルドはこれまでずっと成功していたので、問題は間違いなくAdHocプロファイル自体にありました(どうやらナイスに見えたので、かなり奇妙です)。
キーチェーンに適切な証明書と〜/ Library/MobileDevices/Provisioning Profilesの下に適切なプロビジョニングプロファイルをインストールしましたが。
私たちも見るかもしれません
unknown error -1=ffffffffffffffff
このエラーについて、以下の手順を試して問題を修正しました。