

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Swift-Pakete konsumieren und veröffentlichen
<a name="swift-publish-consume"></a>

## Swift-Pakete werden konsumiert von CodeArtifact
<a name="consume-swift-packages"></a>

Gehen Sie wie folgt vor, um Swift-Pakete aus einem AWS CodeArtifact Repository zu konsumieren.

**Um Swift-Pakete aus einem CodeArtifact Repository zu konsumieren**

1. Falls nicht, folgen Sie den Schritten unter So konfigurieren Sie den Swift Package Manager so, dass er Ihr CodeArtifact Repository mit den richtigen Anmeldeinformationen verwendet. [Konfigurieren Sie den Swift Package Manager mit CodeArtifact](configure-swift.md)
**Anmerkung**  
Das generierte Autorisierungstoken ist 12 Stunden gültig. Sie müssen ein neues erstellen, wenn seit der Erstellung eines Tokens 12 Stunden vergangen sind.

1. Bearbeiten Sie die `Package.swift` Datei in Ihrem Anwendungsprojektordner, um die Paketabhängigkeiten zu aktualisieren, die von Ihrem Projekt verwendet werden sollen.

   1. Wenn die `Package.swift` Datei keinen `dependencies` Abschnitt enthält, fügen Sie einen hinzu.

   1. Fügen Sie im `dependencies` Abschnitt der `Package.swift` Datei das Paket hinzu, das Sie verwenden möchten, indem Sie dessen Paket-ID hinzufügen. Die Paketkennung besteht aus dem Bereich und dem Paketnamen, die durch einen Punkt getrennt sind. Ein Beispiel finden Sie im Codeausschnitt, der einem späteren Schritt folgt.
**Tipp**  
Um die Paket-ID zu finden, können Sie die CodeArtifact Konsole verwenden. Suchen Sie die spezifische Paketversion, die Sie verwenden möchten, und lesen Sie auf der Seite mit der Paketversion nach den Anweisungen für die **Kurzanleitung zur Installation**.

   1. Wenn die `Package.swift` Datei keinen `targets` Abschnitt enthält, fügen Sie einen hinzu.

   1. Fügen Sie im `targets` Abschnitt die Ziele hinzu, die die Abhängigkeit verwenden müssen.

      Der folgende Ausschnitt ist ein Beispielausschnitt, der konfigurierte `targets` Abschnitte `dependencies` und Abschnitte in einer Datei zeigt: `Package.swift`

      ```
      ...
          ],
          dependencies: [
              .package(id: "my_scope.package_name", from: "1.0.0")
          ],
          targets: [
            .target(
               name: "MyApp",
               dependencies: ["package_name"]
            ),...
          ],
      ...
      ```

1. Nachdem alles konfiguriert ist, verwenden Sie den folgenden Befehl, um die Paketabhängigkeiten von herunterzuladen. CodeArtifact

   ```
   swift package resolve
   ```

## Swift-Pakete CodeArtifact in Xcode konsumieren
<a name="consume-swift-packages-xcode"></a>

Gehen Sie wie folgt vor, um Swift-Pakete aus einem CodeArtifact Repository in Xcode zu konsumieren.

**Um Swift-Pakete aus einem CodeArtifact Repository in Xcode zu konsumieren**

1. Falls nicht, folgen Sie den Schritten unter So konfigurieren Sie den Swift Package Manager so, dass er Ihr CodeArtifact Repository mit den richtigen Anmeldeinformationen verwendet. [Konfigurieren Sie den Swift Package Manager mit CodeArtifact](configure-swift.md)
**Anmerkung**  
Das generierte Autorisierungstoken ist 12 Stunden gültig. Sie müssen ein neues erstellen, wenn seit der Erstellung eines Tokens 12 Stunden vergangen sind.

1. Fügen Sie die Pakete als Abhängigkeit zu Ihrem Projekt in Xcode hinzu.

   1. Wählen Sie „**Datei“ > „Pakete hinzufügen**“.

   1. Suchen Sie mithilfe der Suchleiste nach Ihrem Paket. Ihre Suche muss im Formular erfolgen`package_scope.package_name`.

   1. Sobald Sie es gefunden haben, wählen Sie das Package aus und wählen **Sie Paket hinzufügen**.

   1. Sobald das Package verifiziert ist, wählen Sie die Paketprodukte aus, die Sie als Abhängigkeit hinzufügen möchten, und wählen Sie **Paket hinzufügen**.

Wenn Sie Probleme bei der Verwendung Ihres CodeArtifact Repositorys mit Xcode haben, finden Sie Informationen [Schnelle Problembehebung](swift-troubleshooting.md) zu häufig auftretenden Problemen und möglichen Lösungen.

## Swift-Pakete veröffentlichen auf CodeArtifact
<a name="publish-swift-packages"></a>

CodeArtifact empfiehlt Swift 5.9 oder höher und die Verwendung des `swift package-registry publish` Befehls zur Veröffentlichung von Swift-Paketen. Wenn Sie eine frühere Version verwenden, müssen Sie einen Curl-Befehl verwenden, um Swift-Pakete zu veröffentlichen. CodeArtifact

### Veröffentlichen von CodeArtifact Paketen mit dem Befehl `swift package-registry publish`
<a name="publish-swift-packages-publish-command"></a>

Verwenden Sie das folgende Verfahren mit Swift 5.9 oder höher, um Swift-Pakete mit dem Swift Package Manager in einem CodeArtifact Repository zu veröffentlichen.

1. Falls nicht, folgen Sie den Schritten unter So konfigurieren Sie den Swift Package Manager so, dass er Ihr CodeArtifact Repository mit den richtigen Anmeldeinformationen verwendet. [Konfigurieren Sie den Swift Package Manager mit CodeArtifact](configure-swift.md)
**Anmerkung**  
Das generierte Autorisierungstoken ist 12 Stunden gültig. Sie müssen ein neues erstellen, wenn seit der Erstellung 12 Stunden vergangen sind.

1. Navigieren Sie zum Swift-Projektverzeichnis, das die `Package.swift` Datei für Ihr Paket enthält.

1. Führen Sie den folgenden `swift package-registry publish` Befehl aus, um das Paket zu veröffentlichen. Der Befehl erstellt ein Paketquellarchiv und veröffentlicht es in Ihrem CodeArtifact Repository.

   ```
   swift package-registry publish packageScope.packageName packageVersion
   ```

   Beispiel:

   ```
   swift package-registry publish myScope.myPackage 1.0.0
   ```

1. Sie können überprüfen, ob das Paket veröffentlicht wurde und im Repository vorhanden ist, indem Sie in der Konsole nachschauen oder den `aws codeartifact list-packages` Befehl wie folgt verwenden:

   ```
   aws codeartifact list-packages --domain my_domain --repository my_repo
   ```

   Sie können die einzelne Version des Pakets mit dem folgenden `aws codeartifact list-package-versions` Befehl auflisten:

   ```
   aws codeartifact list-package-versions --domain my_domain --repository my_repo \
   --format swift --namespace my_scope --package package_name
   ```

### CodeArtifact Pakete mit Curl veröffentlichen
<a name="publish-swift-packages-curl"></a>

Es wird zwar empfohlen, den `swift package-registry publish` Befehl zu verwenden, der in Swift 5.9 oder höher enthalten ist, aber Sie können Curl auch verwenden, um Swift-Pakete zu veröffentlichen. CodeArtifact

Gehen Sie wie folgt vor, um Swift-Pakete mit Curl in einem AWS CodeArtifact Repository zu veröffentlichen.

1. Falls nicht, erstellen und aktualisieren Sie die `CODEARTIFACT_REPO` Umgebungsvariablen `CODEARTIFACT_AUTH_TOKEN` und, indem Sie die Schritte unter befolgen. [Konfigurieren Sie den Swift Package Manager mit CodeArtifact](configure-swift.md)
**Anmerkung**  
Das Autorisierungs-Token ist 12 Stunden gültig. Sie müssen Ihre `CODEARTIFACT_AUTH_TOKEN` Umgebungsvariable mit neuen Anmeldeinformationen aktualisieren, wenn seit ihrer Erstellung 12 Stunden vergangen sind.

1. Wenn Sie kein Swift-Paket erstellt haben, können Sie dies zunächst tun, indem Sie die folgenden Befehle ausführen:

   ```
   mkdir testDir && cd testDir
   swift package init
   git init .
   swift package archive-source
   ```

1. Verwenden Sie den folgenden Curl-Befehl, um Ihr Swift-Paket zu CodeArtifact veröffentlichen in:

------
#### [ macOS and Linux ]

   ```
   curl -X PUT  --user "aws:$CODEARTIFACT_AUTH_TOKEN" \
   -H "Accept: application/vnd.swift.registry.v1+json" \
   -F source-archive="@test_dir_package_name.zip" \
   "${CODEARTIFACT_REPO}my_scope/package_name/packageVersion"
   ```

------
#### [ Windows ]

   ```
   curl -X PUT  --user "aws:%CODEARTIFACT_AUTH_TOKEN%" \
   -H "Accept: application/vnd.swift.registry.v1+json" \
   -F source-archive="@test_dir_package_name.zip" \
   "%CODEARTIFACT_REPO%my_scope/package_name/packageVersion"
   ```

------

1. Sie können überprüfen, ob das Paket veröffentlicht wurde und im Repository vorhanden ist, indem Sie in der Konsole nachschauen oder den `aws codeartifact list-packages` Befehl wie folgt verwenden:

   ```
   aws codeartifact list-packages --domain my_domain --repository my_repo
   ```

   Sie können die einzelne Version des Pakets mit dem folgenden `aws codeartifact list-package-versions` Befehl auflisten:

   ```
   aws codeartifact list-package-versions --domain my_domain --repository my_repo \
   --format swift --namespace my_scope --package package_name
   ```

## Swift-Pakete abrufen von GitHub und erneutes Veröffentlichen von CodeArtifact
<a name="publish-swift-packages-from-github"></a>

Gehen Sie wie folgt vor, um ein Swift-Paket aus einem Repository abzurufen GitHub und es erneut in einem Repository zu veröffentlichen. CodeArtifact 

**Um ein Swift-Paket abzurufen GitHub und es erneut zu veröffentlichen CodeArtifact**

1. Falls nicht, folgen Sie den Schritten unter So konfigurieren Sie den Swift Package Manager so, dass er Ihr CodeArtifact Repository mit den richtigen Anmeldeinformationen verwendet. [Konfigurieren Sie den Swift Package Manager mit CodeArtifact](configure-swift.md)
**Anmerkung**  
Das generierte Autorisierungstoken ist 12 Stunden gültig. Sie müssen ein neues erstellen, wenn seit der Erstellung eines Tokens 12 Stunden vergangen sind.

1. Klonen Sie das Git-Repository des Swift-Pakets, das Sie abrufen und erneut veröffentlichen möchten, indem Sie den folgenden `git clone` Befehl verwenden. Informationen zum Klonen von GitHub Repositorys finden Sie in der Dokumentation unter [Ein Repository klonen](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository). GitHub 

   ```
   git clone repoURL
   ```

1. Navigieren Sie zu dem Repository, das Sie gerade geklont haben:

   ```
   cd repoName
   ```

1. Erstellen Sie das Paket und veröffentlichen Sie es in CodeArtifact.

   1. **Empfehlung:** Wenn Sie Swift 5.9 oder höher verwenden, können Sie den folgenden `swift package-registry publish` Befehl verwenden, um das Paket zu erstellen und es in Ihrem konfigurierten CodeArtifact Repository zu veröffentlichen.

      ```
      swift package-registry publish packageScope.packageName versionNumber
      ```

      Beispiel:

      ```
      swift package-registry publish myScope.myPackage 1.0.0
      ```

   1. Wenn Sie eine Swift-Version verwenden, die älter als 5.9 ist, müssen Sie den `swift archive-source` Befehl verwenden, um das Paket zu erstellen, und dann einen Curl-Befehl verwenden, um es zu veröffentlichen.

      1. Wenn Sie die Variablen `CODEARTIFACT_AUTH_TOKEN` und die `CODEARTIFACT_REPO` Umgebungsvariablen noch nicht konfiguriert haben oder es mehr als 12 Stunden her ist, dass Sie das getan haben, folgen Sie den Schritten unter. [Konfigurieren Sie Swift ohne den Login-Befehl](configure-swift.md#configure-swift-without-login-command)

      1. Erstellen Sie das Swift-Paket mit dem `swift package archive-source` folgenden Befehl:

         ```
         swift package archive-source
         ```

         Wenn dies erfolgreich ist, werden Sie es `Created package_name.zip` in der Befehlszeile sehen.

      1. Verwenden Sie den folgenden Curl-Befehl, um das Swift-Paket zu CodeArtifact veröffentlichen in:

------
#### [ macOS and Linux ]

         ```
         curl -X PUT  --user "aws:$CODEARTIFACT_AUTH_TOKEN" \
         -H "Accept: application/vnd.swift.registry.v1+json" \
         -F source-archive="@package_name.zip" \
         "${CODEARTIFACT_REPO}my_scope/package_name/packageVersion"
         ```

------
#### [ Windows ]

         ```
         curl -X PUT  --user "aws:%CODEARTIFACT_AUTH_TOKEN%" \
         -H "Accept: application/vnd.swift.registry.v1+json" \
         -F source-archive="@package_name.zip" \
         "%CODEARTIFACT_REPO%my_scope/package_name/packageVersion"
         ```

------

1. Sie können überprüfen, ob das Paket veröffentlicht wurde und im Repository vorhanden ist, indem Sie in der Konsole nachschauen oder den `aws codeartifact list-packages` Befehl wie folgt verwenden:

   ```
   aws codeartifact list-packages --domain my_domain --repository my_repo
   ```

   Sie können die einzelne Version des Pakets mit dem folgenden `aws codeartifact list-package-versions` Befehl auflisten:

   ```
   aws codeartifact list-package-versions --domain my_domain --repository my_repo \
   --format swift --namespace my_scope --package package_name
   ```