Estrutura, produtos e compilação/teste/execução
Aprenda a estrutura do SwiftPM (Sources/ e Tests/), os produtos (executáveis versus bibliotecas) e como compilar, testar e executar com CLI.
Estrutura, produtos e compilação/teste/execução é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 2 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Swift Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Swift Academy inclui 3 aulas no total.
Visão geral
Esta lição mostra a estrutura do SwiftPM, como os produtos correspondem aos destinos e a CLI para compilar/testar/executar.
Estrutura de pastas
O SwiftPM espera as pastas Sources/ e Tests/. Cada destino tem sua própria pasta.
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)Produtos e destinos
Os produtos expõem destinos: bibliotecas para reutilização e executáveis para aplicativos/CLIs. Os testes ficam em 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)Biblioteca vs executável
Uma biblioteca expõe APIs; um executável tem um ponto de entrada main.swift e pode depender da biblioteca.
// 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"))Noções básicas da CLI
Use a CLI: swift build, swift run <Exe> e swift test. Adicione -c release para obter compilações otimizadas.
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)Artefatos e dicas
As saídas ficam em .build/. Mantenha os destinos concentrados e coloque os testes em 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)Executar testes
Verificação rápida: qual comando executa os testes?
Recapitulação
Recapitulação: use a estrutura padrão Sources/ e Tests/, associe destinos a produtos e trabalhe com swift build, swift run e swift test.
Perguntas Frequentes
A aula “Estrutura, produtos e compilação/teste/execução” é grátis?
Sim — o texto completo de “Estrutura, produtos e compilação/teste/execução” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Swift Academy, atualize para CoddyKit PRO. O curso de Swift Academy inclui 3 aulas no total.
O que vou aprender em “Estrutura, produtos e compilação/teste/execução”?
Aprenda a estrutura do SwiftPM (Sources/ e Tests/), os produtos (executáveis versus bibliotecas) e como compilar, testar e executar com CLI. Você pratica Swift Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Swift Academy?
Nenhuma experiência prévia é necessária. Swift Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 3.
Quanto tempo leva a aula “Estrutura, produtos e compilação/teste/execução”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Swift Academy?
Sim. Cada aula de Swift Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Fundamentos do Swift Package Manager
- Estrutura, produtos e compilação/teste/execução
- Importação de módulos e fundamentos do versionamento semântico