J'exporte des archives d'applications en utilisant les outils de ligne de commande (xcodebuild
). Essentiellement ce que je en cours d'exécution:codesign --keychain est ignoré
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
Et voici le résultat:
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
Echec de signature de code, car le paramètre codesign
ne tient pas compte --keychain. Maintenant, voici la partie intéressante. Le trousseau que je veux utiliser est jenkins.keychain-db
(comme spécifié ci-dessus). Cela ne fonctionne certainement pas. Voici ma liste de recherche porte-clés:
$ security list-keychains
"/Users/user/Library/Keychains/login.keychain-db"
"/Library/Keychains/System.keychain"
Il est évident que jenkins.keychain-db
n'est pas là-dedans comme il devrait être. Si j'ajoute le jenkins.keychain-db
dans la liste de recherche, il commence à fonctionner.
Malheureusement, ce n'est pas une solution pour moi, car j'ai plusieurs porte-clés avec les mêmes clés et certificats privés. Cela amène xcodebuild à récupérer le premier certificat bon qu'il peut trouver qui échouera parce que le trousseau n'est probablement pas déverrouillé.
Pourquoi seulement de la Sierra? –