Swift Academy · Lektion

Layout, produkter och build/test/run

Lär er SwiftPM-layout (Sources/ och Tests/), produkter (körbara filer jämfört med bibliotek) och hur ni bygger, testar och kör med CLI.

Lektion 2 av 38 steg

Layout, produkter och build/test/run är en gratis lektion i Swift Academy på CoddyKit. Detta är lektion 2 av 3. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Swift Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Swift Academy innehåller totalt 3 lektioner.

Översikt

Den här lektionen visar SwiftPM:s mappstruktur, hur produkter kopplas till targets och CLI-kommandona för build/test/run.

Mappstruktur

SwiftPM förväntar sig Sources/ och Tests/. Varje target har sin egen mapp.

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)

Produkter och targets

Produkter exponerar targets: bibliotek för återanvändning och körbara program för appar och CLI-verktyg. Tester placeras under 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)

Bibliotek kontra körbart program

Ett bibliotek exponerar API:er; ett körbart program har en startpunkt i main.swift och kan vara beroende av biblioteket.

// 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"))

Grunderna i CLI

Använd CLI:t: swift build, swift run <Exe> och swift test. Lägg till -c release för optimerade byggen.

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)

Artefakter och tips

Utdata finns i .build/. Håll targets fokuserade och placera tester under 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)

Kör tester

Snabb kontroll: Vilket kommando kör tester?

Sammanfattning

Sammanfattning: Använd standardstrukturen med Sources/ & Tests/, koppla targets till produkter och arbeta med swift build, swift run och swift test.

Gratis att börja

Lär dig Swift med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
122
Lektioner
409

Vanliga frågor

Är lektionen ”Layout, produkter och build/test/run” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Swift Academy, inklusive ”Layout, produkter och build/test/run”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Swift Academy innehåller totalt 3 lektioner.

Vad lär jag mig i ”Layout, produkter och build/test/run”?

Lär er SwiftPM-layout (Sources/ och Tests/), produkter (körbara filer jämfört med bibliotek) och hur ni bygger, testar och kör med CLI. Ni övar på Swift Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Swift Academy?

Du behöver inga förkunskaper. Utbildningen i Swift Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 3.

Hur lång tid tar lektionen ”Layout, produkter och build/test/run”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Swift Academy-lektionen?

Ja. Varje Swift Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Grunderna i Swift Package Manager
  2. Layout, produkter och build/test/run
  3. Importera moduler och grunderna i semantisk versionshantering
← Tillbaka till Swift Academy