· Apple製品

Omarchy LinuxでXcode不要のiOSビルドとApp Store配信が検証される

25秒でわかる内容解説

開発者のJosh Warrenが公開した環境は、Arch系Linux「Omarchy」上でXcodeやmacOSを使わずiOSアプリをビルドしApp Storeに配信する仕組みを検証した。Swiftツールチェーンとxtoolを組み合わせた環境は、iOS 26でもUSB接続で実機インストール可能だ。開発者向けに実用レベルの互換性が確認されたため、Macなしの開発環境に関心のあるユーザーは注目している。

XcodeとmacOSを介さないビルド環境

開発者のJosh Warrenが公開した環境は、Arch LinuxベースのOmarchy上で動作する。Swift 6.4.0とxtool 1.20.1、LLDB 21.0.0、iOS SDK 27.0を組み合わせる。2026年10月3日にx86_64版Archで、同年9月9日にApple Silicon M1チップ搭載機で動作検証が完了した。

外部から必要なのはApple IDとXcode 27.0の配布ファイル約3GBだけだ。インストールスクリプトを実行するとSwiftツールチェーンとclangがPATHの先頭に配置される。実機との接続にはUSBケーブルが必須で、iOS 26ではLinux単体環境において無線デプロイがブロックされる。

配布ファイルはdeveloper.apple.comからダウンロードする。スクリプトはAURパッケージのswift-binとソースビルドのxtoolを自動配置する。Swiftツールチェーンのclangがシステムclangより優先され、SwiftUIビルド時の__builtin_bit_castエラーを防ぐ。

ユーザー権限のみでインストールでき、sudo不要のフラグも用意されている。実機インストールにはpymobiledevice3が利用され、iPhoneで信頼ボタンを押すだけでアプリが起動する。miseパッケージマネージャー経由でSwift 6.3.3をインストールする場合、ncursesの互換性パッチを適用する必要がある。

Linux版ツールとApp Store互換性

Xcodeの主要ツールはLinux版に置き換えられている。actoolは画像セットやAppIconを処理し、ibtoolはXcode 27.0とバイト単位で一致するstoryboardを生成する。NetNewsWireやMastodon for iOSなど、拡張機能付きの大規模プロジェクトもビルド可能だ。

ship.shスクリプトはリリース版アプリをオフライン検証し、App Store Connectの処理要件に合わせて署名とパッケージングを行う。

Builds made this way, entirely on Linux, are VALID and App Store eligible in App Store Connect:

完全にLinux上でビルドされた成果物は、App Store ConnectでVALIDかつ配信可能と判定される。

ship.shはAppIconの暗色とティント変種をApp Storeサイズに展開する。SwiftPMの動的ライブラリを.frameworkにラップし、rcodesignで署名する。bundleレイアウトやInfo.plistキー、Mach-Oアーキテクチャが自動的にチェックされる。

App Store Connect APIキーとアプリレコードを作成すれば、Distribution証明書とApp Storeプロファイルが自動生成される。NetNewsWireの15フレームワークやMastodonのオーバーレイ変更も正常に処理された。xcodeproj2xtool.pyは既存のXcodeプロジェクトからxtoolアダプターを自動生成する。

コミュニティの検証と無線デプロイの制限

Hacker NewsではOmarchy固有の仕様か、他の現行ディストリビューションでも動作するかという疑問が上がっている。iOS 26の無線デプロイはLinux単体環境でブロックされ、各ホストが独自の暗号化トンネルを取得する仕組みのためだ。Macがネットワーク接続を有効にしている場合のみ、Linux側もトンネル共有で対応できる。

SwiftツールチェーンとXcodeのバージョン整合性がビルド成功の鍵となる。開発者はFINDINGS.mdに検証結果を記録しており、ncursesの互換性パッチやSDK再登録コマンドも公開されている。Swift 6.4はXcode 27とペアリングする必要がある。

Swift 6.3系ではXcode 26のSDKが対応する。clangのバージョン不一致がSwiftUIビルドを失敗させる原因だったと記録されている。Framework DesktopとiPhone 16で実クライアントプロジェクトが動作した報告もある。無線デプロイはdevice-run.shでtunneldブリッジやRSDエンドポイントを指定できる。

無線デプロイは他のホストとの共有状態が未検証のままだ。miseのswift-backend URLバグはmainブランチで修正済みだが、タグ付きリリースには含まれていない。

今後の予定と未確定点

無線デプロイは異なる環境での動作が未検証のまま残る。Omarchyが提供する優位性や他のディストリビューションとの明確な差異も現時点で明記されていない。Swiftツールチェーンを置き換えてもUSBペアリング情報とApple ID認証はユーザーディレクトリに保存されるため維持可能だ。

miseパッケージマネージャー経由でのSwift 6.3.3インストールも互換性パッチで動作する。開発者はGitHubでスポンサーを募っており、2026年10月7日にREADMEが更新された。xcodeproj2xtool.pyは既存のXcodeプロジェクトからxtoolアダプターを自動生成する。変換できない設定は警告として出力される。

SwiftDataやFoundationのプレビューマクロもLinux環境で動作する。開発環境のファイル上限を65536に引き上げてビルドする必要がある。App Store Connectへのアップロードは審査前に停止し、build-upload APIで処理される。

2026年10月3日の検証報告では、Fresh User環境でのインストールスクリプト実行が確認されている。写真ではGitHubリポジトリのトップページが映っている。

GitHubリポジトリのトップページ
GitHubリポジトリのトップページ(出典:Hacker News)

出典