新しい言語に挑戦【Flutter】

キャンプ中の気温や湿度などを計測するためのシステムを作りたいなーと思ったときに、センサー部分はESP32(Arduino)で良いとして、データ表示部分を何で作るか。今までだったらiPhone+Blynkだったけど、Blynkが仕様変更して使えなくなってしまったので、この際自分でiPhoneアプリを作ってみようという流れです。

挑戦するのははFlutter(フラッター)というクロスプラットフォーム対応のフレームワーク。言語はDart(ダート)だそうです。Googleが開発している。

とりあえずFlutterの環境構築(Mac編)を参考に環境構築をしてみよう!

Flutterのインストールで問題発生(パスが通らない)

ダウンロードしたFlutterを適当な場所に配置して(/Users/kasaiyuuichi/development/flutter)書いてあるとおりパスを通す作業をしたが、パスが通っているかコマンド(which flutter)で確認するがNotFound!なんでかとおもったら.zshrcに記述しただけではパスは通らず

source ~/.zshrc

してあげないと反映されないらしい。初歩的なことなんでしょうが、コンソールでの開発なんてしたことないから厳しいなぁ。

Android Studioのインストール

インストール時のオプションの選択など、どうすればよいのか記述がなかったが、適当にスタンダードっぽいオプションでインストールした。

やっぱVSCodeで開発したいのでこっちに切り替えた

Xcodeのインストール

AppStoreでダウンロードしようとしたが、OSが古すぎて(Catalina)でインストール出来ないと言われてしまった。ここからCatalinaに対応しているXcodeの最終バージョンを探して(12.4)ダウンロードして、手動インストールした。

コンソールツールを回答

DartDevToolsの調整

VSCodeのターミナルで

flutter pub global activate devtools

でツールをインストール

ゴタゴタ頑張ったけど結局Xcodeのバージョンが古いと言われて撃沈。

flutter doctor

を実行すると、ログに現在のFlutterのバージョン(3.0.2)ではXcodeの(13.x)以上、現在の(12.4)ではだめだよ〜って感じだった。

逃避したが戻ってきた

パソコンを変えようと思ったけど、Flutterのバージョンを下げればいいじゃん!ということに気づいて再挑戦。

Flutterのバージョンを変えるには
[Mac]Flutterのバージョンを変更する

cd development/flutter # SDKのディレクトリに移動
flutter downgrade 2.2.3
flutter doctor #適用させる的な?

更に実機で動かすためのcocoapodsも最新版だとインストールできないので、

sudo gem install -v1.8.4 cocoapods

ということで、MacOS Catalina で Flutter 2.2.3 と Xcode 12.4 とcocoapods 1.8.4 の構成で環境構築できました。

MacBookPro2013で再挑戦

下記のページを見ながらパッケージ管理ソフト(Homebrew)を使って環境構築することにした。

Flutter 2.5.x 環境をmacOS上に構築する(XcodeとFlutterの複数バージョン対応版)

パッケージ管理ソフトというとpipというのをよく見かけるが違いは…

pipは、pythonのパッケージをインストールするコマンドです。

brewは、rubyで作られていますが、ruby製のシステム以外でもインストールすることができるMac用コマンドです。

brewを使用すると、/usr/localに保存されます。

pipを使用すると、Python Package Indexからパッケージがダウンロードされて、~/.local/lib/pythonx.x/site-packeagesまたは、/usr/local/lib/python2.7/dist-packages/にインストールされます。

https://teratail.com/questions/214321

Homebrewのインストール

公式ページにあったとおり、ターミナルでコマンドを実行してインストール。コマンドラインのインストールはあまりしたことがないので、どこまでダウンロード進んでるのか見えず、ちょっと心配したが、インストール完了!(2分くらい?)

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"


実機との接続

コメントする