Der Hintergrund ist also folgender: Ich habe ein Xcode-Projekt, das von einem schnellen Paket abhängt, das sich in einem privaten Repository auf Github befindet. Dies erfordert natürlich einen Schlüssel für den Zugriff. Bisher habe ich es geschafft, CI so zu konfigurieren, dass ich ssh in die Instanz und git clone
das erforderliche Repository für das schnelle Paket einbinden kann. Leider xcbuild
funktioniert es nicht, wenn es wie CI ausgeführt wird, und ich erhalte die folgende Meldung:
static:ios distiller$ xcodebuild -showBuildSettings -workspace ./Project.xcworkspace \
-scheme App\ Prod
Resolve Package Graph
Fetching git@github.com:company-uk/ProjectDependency.git
xcodebuild: error: Could not resolve package dependencies:
Authentication failed because the credentials were rejected
Im Gegensatz dazu git clone
wird dieses Repo gerne abgerufen, wie hier zu sehen:
static:ios distiller$ git clone git@github.com:company-uk/ProjectDependency.git
Cloning into 'ProjectDependency'...
Warning: Permanently added the RSA host key for IP address '11.22.33.44' to the list of known hosts.
remote: Enumerating objects: 263, done.
remote: Counting objects: 100% (263/263), done.
remote: Compressing objects: 100% (171/171), done.
remote: Total 1335 (delta 165), reused 174 (delta 86), pack-reused 1072
Receiving objects: 100% (1335/1335), 1.11 MiB | 5.67 MiB/s, done.
Resolving deltas: 100% (681/681), done.
Für etwas mehr Kontext wird dies auf CircleCI ausgeführt, das mit einem Bereitstellungsschlüssel auf GitHub eingerichtet wurde, der dem Job auf CI hinzugefügt wurde.
Vorschläge, was sich zwischen der Art und Weise, wie Xcode versucht, Abhängigkeiten abzurufen, und der Art und Weise, wie Vanilla Git dies tut, unterscheiden könnte, wäre großartig. Vielen Dank.