21 points par xguru 2025-05-15 | 1 commentaires | Partager sur WhatsApp
  • 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

 
xguru 2025-05-15

Cela a été créé séparément, sans rapport avec l’annonce par Apple du passage en open source de Swift Build.