Empacotando binários com SPM
Inicialize um pacote executável, defina o product , adicione dependências e produza um binário de release a partir de .build/release , pronto para compartilhar.
Empacotando binários com SPM é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 3 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.
Por que executáveis do SwiftPM?
O SwiftPM pode criar executáveis prontos para distribuição.
- Inicialize um pacote executável
- Defina products e targets
- Adicione dependências (versões semânticas)
- Crie uma compilação de release e localize o binário
Conceitos básicos de inicialização e compilação
Use swift package init --type executable para criar a estrutura inicial. Depois, use swift build e swift run para compilar e executar.
// In your terminal (for reference):
// swift package init --type executable
// Files created: Package.swift, Sources/<Target>/main.swift, Tests/
// You can then run:
// swift build
// swift run
print("SPM exec template ready")Estrutura de main.swift
Os destinos executáveis começam em Sources/<Target>/main.swift. Mantenha a saída da CLI curta e clara.
// Sources/App/main.swift (example content)
let args = CommandLine.arguments.dropFirst()
if args.contains("--help") {
print("app 1.0.0\\nUsage: app [--help] [name]")
} else if let name = args.first {
print("Hello, \\(name)!")
} else {
print("Hello from app 1.0.0")
}Elementos essenciais de Package.swift
Elementos essenciais de Package.swift:
- products: .executable(name:targets:)
- targets: pastas de código-fonte e dependências
- dependencies: pacotes externos (use versões semânticas, como from: "1.2.0")
Exemplo de produto e dependências
Declare um produto .executable e conecte as dependências do destino. Fixe os pacotes externos com versões semânticas para obter estabilidade.
// Package.swift (illustrative)
// import PackageDescription
// let package = Package(
// name: "App",
// platforms: [.macOS(.v12)],
// products: [
// .executable(name: "app", targets: ["App"]),
// ],
// dependencies: [
// // Example: argument parser (replace with real URL in your project)
// // .package(url: "https://github.com/apple/swift-argument-parser", from: "1.2.0")
// ],
// targets: [
// .executableTarget(
// name: "App",
// dependencies: [
// // .product(name: "ArgumentParser", package: "swift-argument-parser")
// ]
// )
// ]
// )Compilação de release e artefato
Distribua o arquivo de .build/release/<product>. Considere remover os símbolos e compactar o arquivo para distribuição.
// Produce an optimized binary:
// swift build -c release
// Artifact path:
// .build/release/app (product name)
//
// Optional strip symbols (platform-specific tool) or zip:
// # macOS example (illustrative)
// # strip .build/release/app
// # zip app-macos.zip .build/release/app
print("Release binary lives in .build/release/")Localização do artefato de release
Verificação rápida: Onde está o binário de release?
Recapitulação
Recapitulação: Inicialize um pacote executável, defina o produto em Package.swift, adicione dependências com versões semânticas e distribua o binário de .build/release.
Perguntas Frequentes
A aula “Empacotando binários com SPM” é grátis?
Sim — o texto completo de “Empacotando binários com SPM” é 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 “Empacotando binários com SPM”?
Inicialize um pacote executável, defina o product , adicione dependências e produza um binário de release a partir de .build/release , pronto para compartilhar. 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 3 de 3.
Quanto tempo leva a aula “Empacotando binários com SPM”?
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
- Scripts Swift (shebang do Swift) e ferramentas de linha de comando
- Interoperabilidade com C/Obj-C em resumo (sem especificidades do iOS)
- Empacotando binários com SPM