Mac なしの iOS

Mac なしで行う Flutter の iOS 開発

Flutter は Windows と Linux で動作しますが、iOS アプリのビルドとリリースには依然として macOS 上の Xcode が必要です。ここでは、Mac を購入することなく、リモート Mac で iOS 側をカバーする方法をご紹介します。

リモート Mac を入手する
MRM-SW-01 24 × 5GBASE-T · 4 × SFP28 PWR SYS FAN UPLINK 2 × 25G → CORE Fi1/0/7 · 5G · link up Mac mini M4Mac mini M6Mac mini M4Mac mini M6Mac mini M4 Mac mini M6Mac mini M4Mac mini M4Mac mini M6 Mac mini M4
Provisioning
link5 Gbps · full-duplex
dhcpDISCOVER → OFFER → REQUEST → ACK
ipv4203.0.113.42
ipv62001:db8:4f00::42
hostmac-m4-07.myremotemac.com
state● ONLINE
Ready
Datacenter ISO 27001 · Tier III+ · 10 Gbps Internet backbone IPv4 / IPv6 · DDoS protection ≈ 12 ms Your desk Windows · Linux · macOS · iPad 09:41 mac-m4-07.myremotemac.com — Remote Desktop Connecting to mac-m4-07… 203.0.113.42 · Screen Sharing · encrypted Finder File Edit View Go Window Help Tue 09:41 admin — zsh — 80×24 admin@mac-m4-07 ~ % uname -m arm64 admin@mac-m4-07 ~ % sw_vers -productVersion 15.5 admin@mac-m4-07 ~ % Connected · 12 ms
01 · データセンター
新しいMac mini M4が、当社データセンターのラックに加わります。

Flutter は真にクロスプラットフォームであり、Android 向けの開発は Windows や Linux だけで完結できます。例外は iOS です。flutter build ios、CocoaPods、コード署名、App Store へのアップロードは、いずれも macOS 専用の Xcode を必要とします。リモート Mac があれば、自分のマシンでコーディングを続けながら、その環境を必要なときに利用できます。

iOS ビルドの選択肢

Windows や Linux で開発する場合に、署名済みの Flutter iOS ビルドを作成する 3 つの現実的な方法。

おすすめ

リモート Mac をレンタルする

自分で操作できる完全な macOS+Xcode。Mac 上の iOS シミュレータに対して flutter run を実行し、そのままそこでビルドと署名を行います。デバッグや実機テストに最適です。

クラウド CI(Codemagic、Bitrise、GitHub Actions)

Codemagic は自動リリースビルドにおいて Flutter との相性が良いですが、反復的なデバッグや単発の署名には扱いにくい面があります。

Mac を購入する

常に選択肢ではありますが、初期費用に加えてメンテナンスも必要です。作業のうち iOS の部分だけに macOS が必要なのであれば、過剰です。

Mac なしで Flutter の iOS アプリをビルドする

リモート Mac を使えば、Flutter の iOS ワークフローはローカルの Mac とまったく同じです。接続するだけで済みます。

1

リモート Mac に接続する

Mac をプロビジョニングし、VNC(GUI)または SSH(ターミナル)で接続します。Xcode と Command Line Tools はプリインストール済みです。

2

Flutter と CocoaPods をインストールする

Flutter SDK をインストールし、flutter doctor を実行します。sudo gem install cocoapods で CocoaPods をインストールし、続いて cd ios && pod install を実行します。

3

iOS シミュレータで実行する

flutter run を実行すると、Mac 上の iOS シミュレータでアプリが起動します。VNC 経由で操作でき、ホットリロードもいつもとまったく同じように動作します。

4

ビルド・署名・アップロード

flutter build ipa を実行し、Apple Developer 証明書で署名して、Xcode、Transporter、または Fastlane でアップロードします。App Store 公開ガイドをご覧ください。

Flutter にリモート Mac を選ぶ理由

さらに詳しく

よくある質問

Mac なしで Flutter の iOS アプリをビルドできますか?

Windows や Linux で開発はできますが、iOS のビルド、署名、App Store へのアップロードには macOS 上の Xcode が必要です。リモート Mac は、まさにこれらのステップをカバーします。

それでも Apple Developer アカウントは必要ですか?

はい。TestFlight や App Store へのリリースには、ビルド方法にかかわらず Apple Developer Program のメンバーシップ(年額 $99)が必要です。

Flutter のホットリロードはリモート Mac で動作しますか?

はい。iOS シミュレータはリモート Mac 上で動作し、VNC 経由で表示できます。ホットリロードとホットリスタートは、ローカルの場合とまったく同じように動作します。

Flutter 向けのリモート Mac の料金はいくらですか?

プランは Mac Mini M4 で月額 $85 から。iOS ビルドのためだけに Mac を購入するよりもはるかに安価です。料金をご覧ください。

Flutter アプリを iOS にリリースする

Xcode がプリインストールされた専用リモート Mac を入手し、今日から Flutter の iOS アプリをビルドしましょう。月額 $85 から。