21 pontos por xguru 2025-05-15 | 1 comentários | Compartilhar no WhatsApp
  • Ferramenta multiplataforma que substitui o Xcode, permitindo compilar projetos baseados em SwiftPM em Linux, Windows (WSL) e macOS e distribuí-los para dispositivos como .ipa
  • Simplifica e automatiza tarefas que normalmente exigem o Xcode, sendo útil em ambientes de CI/CD (resultado de 8 anos de trabalho para automatizar a distribuição de iOS)
  • Oferece recursos de assinatura e instalação de apps iOS, além de integração com Apple Developer Services
    • Com a biblioteca Swift XKit, é possível interagir diretamente com Apple Developer Services ou com dispositivos iOS a partir do app do usuário
  • Limitações fora do macOS e planos futuros
    • Interface Builder: a implementação é muito complexa e o SwiftUI já substitui a maior parte
    • Asset Catalogs: exigem engenharia reversa, mas valem a pena. Por enquanto, é possível contornar adicionando arquivos de imagem como arquivos brutos
    • Macros proprietárias
      • Macros padrão como @Observable funcionam
      • Macros proprietárias da Apple, como SwiftData, precisam ser reprojetadas após engenharia reversa
      • Se a Apple distribuí-las no formato de macros WebAssembly, elas poderão ser usadas em todas as plataformas (veja a proposta no fórum Swift)
    • Extensões de app
      • No momento, só é possível compilar alvos do tipo "Application"
      • Isso pode ser resolvido com suporte estendido na especificação xtool.yml
    • Depuração com LLDB
      • Antes do iOS 17 era simples, mas a Apple mudou a forma de chamar o debugserver
      • É possível se conectar usando ferramentas como pymobiledevice3
      • A integração do novo protocolo RemoteXPC é uma tarefa futura
    • Distribuição via App Store Connect
      • Atualmente, há suporte apenas para execução no próprio dispositivo
      • O iTMSTransporter é multiplataforma, e a infraestrutura de integração com a API do ASC já está pronta, então há possibilidade de implementação

1 comentários

 
xguru 2025-05-15

Isso parece ter sido criado separadamente, sem relação com o anúncio da Apple sobre tornar o Swift Build open source.