Suche…


Erstellung und Verwendung eines einfachen Swift-Pakets

Um ein schnelles Paket zu erstellen, öffnen Sie ein Terminal und erstellen Sie einen leeren Ordner:

mkdir AwesomeProject
cd AwesomeProject

Und ein Git-Repository initiieren:

git init

Dann erstellen Sie das Paket selbst. Man könnte die Paketstruktur manuell erstellen, aber es gibt eine einfache Möglichkeit, den CLI-Befehl zu verwenden.

Wenn Sie eine ausführbare Datei erstellen möchten:

swift package init --type executable

Es werden mehrere Dateien erzeugt. Unter ihnen ist main.swift der Einstiegspunkt für Ihre Bewerbung.

Wenn Sie eine Bibliothek erstellen möchten:

swift package init --type library

Die generierte AwesomeProject.swift- Datei wird als Hauptdatei für diese Bibliothek verwendet.

In beiden Fällen können Sie weitere Swift-Dateien im Ordner Sources hinzufügen (es gelten die üblichen Regeln für die Zugriffskontrolle).

Die Package.swift- Datei selbst wird automatisch mit diesem Inhalt gefüllt :

import PackageDescription

let package = Package(
    name: "AwesomeProject"
)

Die Versionierung des Pakets erfolgt mit Git-Tags:

git tag '1.0.0'

Nach dem Push an ein Remote- oder lokales Git-Repository wird Ihr Paket für andere Projekte verfügbar sein.

Ihr Paket kann jetzt kompiliert werden:

swift build

Das kompilierte Projekt ist im Ordner .build / debug verfügbar.

Ihr eigenes Paket kann auch Abhängigkeiten zu anderen Paketen auflösen. Wenn Sie beispielsweise "SomeOtherPackage" in Ihr eigenes Projekt aufnehmen möchten , ändern Sie die Package.swift- Datei, um die Abhängigkeit aufzunehmen:

import PackageDescription

let package = Package(
    name: "AwesomeProject",
    targets: [],
    dependencies: [
        .Package(url: "https://github.com/someUser/SomeOtherPackage.git",
                 majorVersion: 1),
    ]
)

Dann erstellen Sie Ihr Projekt erneut: Der Swift Package Manager löst die Abhängigkeiten automatisch auf, lädt sie herunter und erstellt sie.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow