- Outil multiplateforme de remplacement de Xcode, permettant de compiler des projets basés sur SwiftPM sur Linux, Windows (WSL) et macOS puis de les déployer sur un appareil au format
.ipa
- Utile dans les environnements CI/CD en simplifiant et en automatisant les tâches qui nécessitent Xcode (le résultat de 8 ans de travail sur l’automatisation du déploiement iOS)
- Fournit des fonctions de signature et d’installation d’apps iOS, ainsi que l’intégration avec Apple Developer Services
- Via une bibliothèque Swift appelée
XKit, les apps utilisateur peuvent interagir directement avec Apple Developer Services ou avec des appareils iOS
- Limites hors environnement macOS et feuille de route
- Interface Builder : implémentation très complexe, et SwiftUI le remplace en grande partie
- Asset Catalogs : nécessitent de la rétro-ingénierie, mais cela vaut la peine. Pour l’instant, on peut contourner cela en ajoutant des fichiers image comme fichiers bruts
- Proprietary Macros
- Les macros standard comme
@Observable fonctionnent
- Les macros propriétaires d’Apple, comme SwiftData, doivent être rétroconçues puis reconstruites
- Si Apple les distribuait sous forme de macros WebAssembly, elles pourraient être utilisées sur toutes les plateformes (voir la proposition sur les forums Swift)
- App Extensions
- Pour l’instant, seules les cibles de type "Application" peuvent être compilées
- Le problème pourrait être résolu en étendant la spécification
xtool.yml pour les prendre en charge
- Débogage LLDB
- Avant iOS 17, c’était simple, mais Apple a modifié la manière d’appeler
debugserver
- Il est possible de se connecter avec des outils comme pymobiledevice3
- L’intégration du nouveau protocole RemoteXPC reste un chantier à venir
- Déploiement sur App Store Connect
- Actuellement, seule l’exécution sur ses propres appareils est prise en charge
iTMSTransporter est multiplateforme, et l’infrastructure d’intégration avec l’API ASC est déjà prête, ce qui laisse envisager une implémentation possible
1 commentaires
Cela a été créé séparément, sans rapport avec l’annonce par Apple du passage en open source de Swift Build.