- XTool ist ein plattformübergreifendes Entwicklungstool, das Xcode-Funktionen auf mehreren Betriebssystemen ersetzen kann
- Mit SwiftPM sind Build und Bereitstellung von iOS-Apps unter Linux, Windows und macOS möglich
- Entwickler können sich programmgesteuert mit den Apple Developer Services integrieren
- Es bietet CLI-basierte Subcommands für Geräteverwaltung, Installation, App-Start und mehr
- Mit der XKit-Bibliothek lassen sich Funktionen direkt innerhalb der App nutzen
Einführung in das XTool-Projekt
- XTool ist ein plattformübergreifendes Entwicklungstool mit ähnlichen Funktionen wie Xcode und läuft unter Linux, WSL und macOS
- Anders als das bisherige Xcode können damit auch unter Windows und Linux SwiftPM-Pakete zu iOS-Apps gebaut und auf realen Geräten signiert und installiert werden
- Entwickler können programmgesteuert mit den Apple Developer Services interagieren und auch ohne macOS eine iOS-Entwicklungsumgebung aufbauen
Hauptfunktionen
- Unterstützung für Build von SwiftPM-Paketen und Umwandlung in iOS-Apps
- Signieren (Sign) und Installieren (Install) von iOS-Apps möglich
- Integration mit Apple Developer Services: bietet Funktionen für Authentifizierung und Nutzung von Diensten
Typische Anwendungsbeispiele
Kommandozeilenschnittstelle
xtool bietet über verschiedene Subcommands Funktionen für Entwicklung, Geräte, Konfiguration und mehr
setup: iOS-Entwicklungsumgebung einrichten
auth: Apple-Entwicklerauthentifizierung verwalten
sdk: Darwin Swift SDK verwalten
new: neues SwiftPM-Projekt erstellen
dev: Projekt bauen und ausführen
ds: mit Apple Developer Services interagieren
devices: Geräteliste anzeigen
install: ipa-Datei auf einem Gerät installieren
uninstall: App löschen
launch: installierte App auf dem Gerät starten
Nutzung der XTool-Bibliothek (KIT)
- Durch Einbinden der XKit-Bibliothek als SwiftPM-Abhängigkeit lassen sich Funktionen wie die direkte Steuerung von Apple Developer Services und iOS-Geräten aus der in Entwicklung befindlichen App heraus aufrufen
- Swift-Entwickler können sie über
.package()- und .product()-Deklarationen einfach in ein Projekt integrieren
Zusammenfassung der Vorteile
- Entwicklung und Bereitstellung von iOS-Apps sind nicht nur unter macOS, sondern auch auf Linux und Windows möglich
- Integration mit verschiedenen Entwicklungstools wie VSCode möglich
- Basiert auf offenen Standards und unterstützt einen allgemeinen, automatisierten Entwicklungs-Workflow
- Besonders wertvoll als Alternative, wenn Xcode nicht verwendet werden kann
1 Kommentare
Hacker-News-Kommentare
Dieses Tool spricht von einem „Xcode-Ersatz“ und von „Entwicklung ohne Xcode“, aber ich denke, dass es unmöglich ist, Apps ohne Xcode zu bauen. Als ich genauer nachgesehen habe, wie Dinge wie Bibliotheken oder Compiler ersetzt werden, stellte sich heraus, dass das tatsächlich nicht so ist. Dort steht: „Das Xcode-Build-System wird nicht verwendet, aber für das iOS SDK und die Toolchain ist eine Xcode-Installation weiterhin erforderlich.“ Ich denke, sie sollten ihre Botschaft klarer formulieren. Das ist kein Ersatz und keine vollständige Alternative, sondern eine Schicht auf dem bestehenden System, die eine bessere Erfahrung anstrebt
JetBrains hat früher AppCode entwickelt. AppCode war eine smarte IDE für die iOS/macOS-Entwicklung, wird aber seit dem 14. Dezember 2022 nicht mehr als kommerzielles Produkt angeboten
Kommentar mit Verweis auf https://forums.swift.org/t/… und den HN-Diskussionsbeitrag https://news.ycombinator.com/item?id=43952239
Ich frage mich, ob dieses Tool es theoretisch Flutter-App-Entwicklern ermöglichen würde, iOS-Apps unter Linux zu bauen und zu deployen. Ich hoffe wirklich, dass das der Fall ist
xcode ist das Ding, das man alle paar Monate 9 Stunden lang herunterladen muss und das wild XML- und plist-Dateien bearbeitet. Genau dieses xcode
Erinnert mich an Sweetpad. Die Installation von Sweetpad ist etwas umständlich. XTool scheint eine bessere Developer Experience (DX) zu bieten. Hoffentlich wächst dieses Projekt weiter
Früher gab es schon einmal Gespräche über „iOS-Apps unter Linux und Windows bauen“. Siehe https://news.ycombinator.com/item?id=43952239
Ich habe gesehen, dass die GitHub-Organisation „xtool-org“ heißt. Ich frage mich, ob die Firma XTool (Hersteller von Lasergravierern und Crafting-Technik) daraus ein Problem machen wird
Es wäre großartig, wenn es als ähnliches Tool, getrennt von XCode, auch eine Live-Preview-Funktion für auf Swift UI basierende Interfaces gäbe
Ist auf dem Screenshot ein vscode-Icon zu sehen?