0Pricing
Swift Academy · Lekcja

Układ, produkty i budowanie/testowanie/uruchamianie

Poznajcie układ SwiftPM (Sources/ i Tests/), produkty (pliki wykonywalne i biblioteki) oraz budowanie, testowanie i uruchamianie za pomocą CLI.

Układ, produkty i budowanie/testowanie/uruchamianie to bezpłatna lekcja Swift Academy na CoddyKit. To lekcja 2 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Swift Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Swift Academy zawiera 3 lekcji w sumie.

Omówienie

Ta lekcja przedstawia układ SwiftPM, sposób mapowania produktów na targety oraz interfejs wiersza poleceń do wykonywania operacji build/test/run.

Układ folderów

SwiftPM wymaga folderów Sources/ i Tests/. Każdy target ma własny folder.

let tree = """
MyPkg/
├─ Package.swift
├─ Sources/
│  ├─ MyLib/            // library target sources
│  │  └─ MyLib.swift
│  └─ MyApp/            // executable target sources (main.swift)
│     └─ main.swift
└─ Tests/
   ├─ MyLibTests/
   │  └─ MyLibTests.swift
   └─ MyAppTests/
      └─ MyAppTests.swift
"""
print(tree)

Produkty i targety

Produkty udostępniają targety: biblioteki służą do ponownego użycia, a pliki wykonywalne do aplikacji i narzędzi CLI. Testy znajdują się w elemencie testTarget.

let manifest = """
// Package.swift (illustrative)
import PackageDescription
let package = Package(
  name: "MyPkg",
  products: [
    .library(name: "MyLib", targets: ["MyLib"]),
    .executable(name: "MyApp", targets: ["MyApp"])
  ],
  targets: [
    .target(name: "MyLib"),
    .executableTarget(name: "MyApp", dependencies: ["MyLib"]),
    .testTarget(name: "MyLibTests", dependencies: ["MyLib"])
  ]
)
"""
print(manifest)

Biblioteka a plik wykonywalny

Biblioteka udostępnia interfejsy API, a plik wykonywalny ma punkt wejścia main.swift i może zależeć od biblioteki.

// Library code (Sources/MyLib/MyLib.swift)
public struct Greeter {
    public init() {}
    public func hello(_ name: String) -> String { "Hello, \\(name)" }
}

// Executable entry (Sources/MyApp/main.swift)
let g = Greeter()
print(g.hello("World"))

Podstawy interfejsu CLI

Należy używać interfejsu CLI: swift build, swift run <Exe> oraz swift test. Aby uzyskać zoptymalizowane kompilacje, należy dodać -c release.

let cmds = """
# Build (debug by default)
swift build

# Run an executable product
swift run MyApp

# Execute tests (XCTest)
swift test

# Release build (optimized)
swift build -c release
"""
print(cmds)

Artefakty i wskazówki

Wyniki znajdują się w folderze .build/. Targety powinny mieć jasno określone zadania, a testy należy umieszczać w folderze Tests/<Target>Tests.

let notes = """
Artifacts live under .build/:
  • debug/ and release/ contain compiled products
  • x86_64-apple-macosx / arm64-apple-* vary by platform/arch
Tips:
  • Keep one target per responsibility
  • Name products simply; match target folders
  • Put tests in Tests/<TargetName>Tests
"""
print(notes)

Uruchamianie testów

Szybkie sprawdzenie: Które polecenie uruchamia testy?

Podsumowanie

Podsumowanie: należy używać standardowego układu Sources/ i Tests/, mapować targety na produkty oraz korzystać z poleceń swift build, swift run i swift test.

Często zadawane pytania

Czy lekcja „Układ, produkty i budowanie/testowanie/uruchamianie” jest bezpłatna?

Tak — pełny tekst „Układ, produkty i budowanie/testowanie/uruchamianie” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Swift Academy, przejdź na CoddyKit PRO. Kurs Swift Academy zawiera 3 lekcji w sumie.

Co nauczysz się w „Układ, produkty i budowanie/testowanie/uruchamianie”?

Poznajcie układ SwiftPM (Sources/ i Tests/), produkty (pliki wykonywalne i biblioteki) oraz budowanie, testowanie i uruchamianie za pomocą CLI. Ćwiczysz Swift Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Swift Academy?

Nie wymagamy żadnego doświadczenia. Swift Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 3.

Ile czasu zajmuje lekcja „Układ, produkty i budowanie/testowanie/uruchamianie”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Swift Academy?

Tak. Każda lekcja Swift Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Podstawy Swift Package Manager
  2. Układ, produkty i budowanie/testowanie/uruchamianie
  3. Importowanie modułów i podstawy wersjonowania semantycznego
← Powrót do Swift Academy