- xtool é uma ferramenta multiplataforma que substitui o Xcode e permite compilar e distribuir apps iOS baseados em SwiftPM no Linux, WSL e macOS
- É possível compilar um pacote SwiftPM como um app iOS e também cuidar da assinatura e da instalação do app
- Fornece recursos para interagir de forma programática com os Apple Developer Services
- Na linha de comando, oferece subcomandos como
setup, auth, sdk, new, dev, ds, devices, install, uninstall e launch
- Para lidar com Apple Developer Services e dispositivos iOS em apps próprios, é possível adicionar a biblioteca XKit como dependência do SwiftPM
Objetivo do xtool
- xtool é uma ferramenta multiplataforma que recria funções do Xcode com base em padrões abertos
- Os ambientes compatíveis são Linux/WSL/macOS
- Fornece um fluxo para compilar e distribuir pacotes SwiftPM como apps iOS
Recursos oferecidos
- É possível compilar pacotes SwiftPM como apps iOS
- É possível assinar apps iOS e instalá-los em dispositivos
- É possível interagir de forma programática com os Apple Developer Services
Como começar
- O guia de instalação é separado por ambiente
- O primeiro app baseado em xtool pode ser criado e executado seguindo o tutorial
Interface de linha de comando
xtool --help mostra uma visão geral de Cross-platform Xcode replacement e o uso de xtool <subcommand>
- Subcomandos relacionados à configuração
setup: configurar o xtool para desenvolvimento iOS
auth: gerenciar autenticação dos Apple Developer Services
sdk: gerenciar o Darwin Swift SDK
- Subcomandos relacionados ao desenvolvimento
new: criar um novo projeto xtool em SwiftPM
dev: compilar e executar um projeto xtool em SwiftPM
ds: interagir com os Apple Developer Services
- Subcomandos relacionados a dispositivos
devices: mostrar a lista de dispositivos
install: instalar um arquivo ipa no dispositivo
uninstall: remover um app instalado
launch: executar um app instalado
Biblioteca XKit
- O xtool inclui uma biblioteca para interagir, em apps próprios, com Apple Developer Services, dispositivos iOS e mais
- No SwiftPM, ela pode ser usada adicionando
XKit como dependência
// package dependency:
.package(url: "https://github.com/xtool-org/xtool", .upToNextMinor(from: "1.2.0"))
// target dependency:
.product(name: "XKit", package: "xtool")
Ainda não há comentários.