0Pricing
Swift Academy · Aula

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

  1. Scripts Swift (shebang do Swift) e ferramentas de linha de comando
  2. Interoperabilidade com C/Obj-C em resumo (sem especificidades do iOS)
  3. Empacotando binários com SPM
← Voltar para Swift Academy