nikkie-ftnextの日記

イベントレポートや読書メモを発信

iOSアプリ開発のためにFlutterをmacOSで環境構築した手順のメモ(紆余曲折の記録)

はじめに

可奈ちゃんの 「諦めたくない!」 マジ泣いた1
nikkieです

macOSでFlutterの環境構築をする機会があったので、備忘のために手順を残します。
紆余曲折の末に、環境構築は成功しました🙌

目次

Flutter

ゆめみさん関係で聞いたことあるな〜くらいでした。

マルチプラットフォームってすごいですね。

FlutterでiOSアプリ開発する環境をmacOSに構築

環境構築を終えてから振り返ると以下の手順に沿っていたことになります。

Flutterの環境構築手順を求めている方は、まずこの公式ドキュメントを見るのをオススメします
(この記事の方法は紆余曲折しまくっており、参考にならないでしょう)

Flutter SDKのインストール

ダウンロードしてPATHを通しました。

% flutter --version
Flutter 3.22.0 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 5dcb86f68f (3 weeks ago) • 2024-05-09 07:39:20 -0500
Engine • revision f6344b75dc
Tools • Dart 3.4.0 • DevTools 2.34.3

SDKをインストールするとflutter doctorで状況を確認しながら進められるのがいいですね

Xcodeのインストール

進める中で、macOSもアップグレードした方がよさそうと分かり、まず実施しました。
Monterey (12) から Sonoma (14.5) へ

Xcode15.4をインストール
iOS simulatorは17.5から選べます)

CocoaPodsのインストール

https://guides.cocoapods.org/using/getting-started.html#installation

% sudo gem install cocoapods

macOSに同梱されてるRubyに直でインストールしていいの?」と思ったのですが2

You can use a Ruby Version manager, however we recommend that you use the standard Ruby available on macOS unless you know what you're doing.

iOSやFlutterの開発でRubyの手順に詳しくない場合、CocoaPodsとしてはsudoしてシステムのRubyに入れてもらう手順を勧めているようです

% ruby --version
ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.arm64e-darwin23]
% gem --version
3.0.3.1

バージョン不整合を解決する必要があり(gemのエラーメッセージで案内されます)、以下のコマンドを実行した形になりました

% sudo gem install activesupport -v 6.1.7.7
% sudo gem install cocoapods

これでpodコマンドが使えるようになってるんですね

% pod --version
1.15.2

しかしVS CodeでStart Debuggingできない...

VS CodeにFlutter Extensionを入れています。

今回は動かしたいソースコードがすでにある状況です。
iOS Simulatorを選択して「Start Debugging」するも、CocoaPods関連のエラー(VS Codeのdebug consoleにて確認)

Error: CocoaPods's specs repository is too out-of-date to satisfy dependencies.
To update the CocoaPods specs, run:
  pod repo update

pod repo updateしても全く解決しません😫

ヒントになったのは以下記事

cd ios
pod repo update
pod update
  • pod repo updateってiosディレクトリでやるものなのかと知り実行しました(この時点では上記エラーが出たまま)
  • pod updatePodfile.lockが更新され、その状態なら「Start Debugging」が通って光明が見えました

参考にした資料

CocoaPodsのインストール時のエラーの対応の参考
Flutter, VSCode のアプリ開発環境を macOS Sonoma に構築する

その他

macOSアップデートがはさまったため、CocoaPodsが複数バージョン入っていたのが悪さをしていた事象もありました。
gem listで出力したときに

cocoapods (1.15.2, 1.13.0)

これはsudo gem uninstall cocoapodsで一度全部消してから再度インストールして、混乱を整理しました

終わりに

FlutterでiOSアプリ開発の環境構築、紆余曲折の記でした。
iOSアプリもほとんど経験がありませんが、Flutter、Ruby(CocoaPods)と触ったことがほとんどないものが押し寄せてきて、なかなかにタフな環境構築でした。
flutter doctorで問題箇所が洗い出されるのが道標のように感じられました。

初めての環境構築ということで大変な思いをしましたが、次にやるときは公式のドキュメントベースで今回よりもっとうまくやれるんじゃないかと思います(再掲しておきます)


  1. 輝きの向こう側へ! 上映中です😭
  2. Pythonだと仮想環境を使いましょうという話になります