- クロスプラットフォームなXcode代替ツールで、SwiftPMベースのプロジェクトを Linux、Windows(WSL)、macOSのどこでもビルド し、デバイスへ
.ipa として配布可能
- Xcodeが必要な作業を単純化・自動化することで CI/CD環境 で有用(iOS配布自動化のために8年間取り組んできた成果物)
- iOSアプリの署名とインストール、Apple Developer Services連携 機能を提供
XKit というSwiftライブラリにより、ユーザーアプリからApple Developer ServicesまたはiOSデバイスと直接やり取り可能
- macOS以外の環境での制約と今後の計画
- Interface Builder : 実装が非常に複雑で、SwiftUIがその大半を代替 している
- Asset Catalogs : リバースエンジニアリングが必要だが、導入する価値はある。現時点では画像ファイルをrawファイルとして追加する方式で代替可能
- Proprietary Macros
@Observable のような標準マクロは動作する
- SwiftData などApple独自のマクロは、リバースエンジニアリング後に再構成が必要
- AppleがWebAssemblyマクロ形式で配布すれば、すべてのプラットフォームで活用可能になる(Swiftフォーラムの提案を参照)
- App Extensions
- 現在は "Application" タイプのターゲットのみビルド可能
xtool.yml 仕様を拡張して対応する方式で解決可能
- LLDBデバッグ
- iOS 17以前は簡単だったが、Appleが
debugserver 呼び出し方式を変更した
- pymobiledevice3 のようなツールを使って接続可能
- 新しいRemoteXPCプロトコルの統合は今後の課題
- App Store Connect配布
- 現在は 自前のデバイス上での実行のみサポート
iTMSTransporter はクロスプラットフォームで、ASC API連携のインフラもすでに整っているため実装の可能性がある
1件のコメント
Apple、Swift Build のオープンソース化を発表 これとは関係なく、別途作られたものですね。