1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

LinuxでiOSアプリ開発!Xcode不要の救世主「xtool」を使ってみた

Last updated at Posted at 2025-05-23

iOSアプリ開発歴10年以上のエンジニアです。最近、Linux環境でiOSアプリを開発する必要があり、Xcodeに代わるツールを探していたところ、「xtool」というプロジェクトに出会いました。これは、Linux、Windows(WSL)、macOSでSwiftPMベースのiOSアプリをビルド・署名・デプロイできるクロスプラットフォームなXcode代替ツールです。今回は、実際にxtoolを使ってiOSアプリをビルドし、デバイスにインストールするまでの体験を共有します。

Cover.png

xtoolとは?

xtoolは、Xcodeの機能をオープンスタンダードで再現したクロスプラットフォームツールです。主な特徴は以下の通りです:

  • SwiftPMパッケージをiOSアプリにビルド可能
  • iOSアプリの署名とインストールが可能
  • Apple Developer Servicesとのプログラム的な連携

これにより、Xcodeが利用できない環境でもiOSアプリの開発が可能になります。

環境構築

私の開発環境は以下の通りです:

  • OS:Ubuntu 22.04 LTS
  • Swift:5.9(公式リポジトリからインストール)
  • xtool:v1.11.4(2025年5月22日リリース)

xtoolのインストールは非常に簡単で、以下のコマンドで完了します:

git clone https://github.com/xtool-org/xtool.git
cd xtool
make install

依存関係として、SwiftPMとlibimobiledeviceが必要です。これらはaptやbrewでインストールできます。

実際に使ってみた

1. プロジェクトの作成

まず、SwiftPMでiOSアプリのプロジェクトを作成します:

swift package init --type executable

作成されたプロジェクトに必要なiOS関連の設定を追加します。

2. ビルドと署名

xtoolを使ってビルドと署名を行います:

xtool build
xtool sign --team-id YOUR_TEAM_ID --bundle-id com.example.app

これにより、iOSアプリのビルドと署名が完了します。

3. デバイスへのインストール

最後に、デバイスにアプリをインストールします:

xtool install --device-id YOUR_DEVICE_ID

これで、Linux環境から直接iOSデバイスにアプリをインストールできました。

使用感と感想

xtoolを使用して感じたことは以下の通りです:

  • メリット

    • LinuxやWSL環境でiOSアプリの開発が可能になる
    • SwiftPMベースの開発フローがシンプルで効率的
    • Apple Developer Servicesとの連携が自動化されている
  • デメリット

    • XcodeのInterface BuilderやStoryboardのサポートがない
    • 一部の高度な機能(例:SwiftUIのライブプレビュー)は未対応
    • Appleの証明書やプロビジョニングプロファイルの管理がやや複雑

全体的に、xtoolはXcodeが使えない環境でのiOSアプリ開発において非常に有用なツールです。特に、CI/CDパイプラインでの自動ビルドや、非macOS環境での開発において、その真価を発揮します。

まとめ

xtoolは、Xcodeに依存せずにiOSアプリを開発・ビルド・デプロイできる革新的なツールです。LinuxやWSL環境でiOSアプリの開発を検討している方には、ぜひ一度試してみることをおすすめします。

詳細や最新情報は、公式GitHubリポジトリをご覧ください:

👉 xtool-org/xtool

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?