Flutter プロジェクト(iOS)をコマンドを使って Xcode で開く

2023.10.03

こんにちは、CX 事業本部 Delivery 部の若槻です。

私は Flutter で iOS アプリを開発をする際には基本的に Visual Studio Code を使っていますが、証明書の設定などのために Xcode でプロジェクトを開く必要があるときがあります。

その際に、Flutter プロジェクト(iOS)を コマンドを使って Xcode で開く方法を確認してみました。

はじめに結論

Flutter プロジェクトのルートで次のコマンドを実行します。

xed ./ios/Runner.xcworkspace

Xcode が起動し、Flutter プロジェクトを開けました。

xed は Xcode の公式エディターツール

xed は the Xcode editor の略で、macOS に含まれている Xcode の公式エディターツールです。

The editors in macOS include TextEdit, xed (the Xcode editor), plus vim and emacs.

xed -h

-h オプションでヘルプを表示できます。

$ xed -h
Options:
    -c, --create           Create the files if they do not exist.
    -p, --project <path>   Open the project, workspace, or package at <path> before opening the requsted files.
    -w, --wait             Wait for file to be closed by Xcode before terminating xed.
    -l, --line <number>    Select line <number> after opening file.
    -b, --background       Leave Xcode in the background (don't activate it).
    -h, --help             Show this information.
    -v, --version          Print version information.

xed の基本的な用途はファイルをエディターで作成したり開いたりすることです。xed README.mdのように実行すると、Xcode のテキストエディターで README.md を開くことができます。

Flutter で開くべきは Runner.xcworkspace

Flutter では各ディストリビューション(iOS、macos)のディレクトリ配下に既定で次の 2 つのプロジェクト管理ファイルが生成されます。

  • Runner.xcworkspace
  • Runner.xcodeproj

xed を使うといずれのファイルでも Xcode でプロジェクトを開くことができますが、Flutter では依存関係の管理に CocoaPods が使われるため、Runner.xcworkspace の方を開く必要があります。

間違って Runner.xcodeproj を開くと、次の記事にあるように Xcode 上でビルドが上手く動かないなどの問題が発生します。

おわりに

Flutter プロジェクトをコマンドを使って Xcode で開く方法を紹介しました。

xed を通じて、Xcode と少しだけ仲良くなれた気がします。

以上