環境
- MacBook Air (M1, 2020)
- MacOS 11.4
- Flutter (stable, 2.2.3)
Homebrew Cask
次のコマンドをターミナルで実行し、Flutterをダウンロード、インストールする。
brew install --cask flutter
flutter doctor
出力される指示に従って環境構築を進める。
Rosetta 2
FlutterとDartはM1チップのMacに適応している最中であるため、
M1 MacではFlutter SDKのインストール後に下記のエラーが出ることがある。
Bad CPU Type in executable
その場合、Rosetta 2をインストールし、M1が解釈できるバイナリに翻訳する必要がある。
softwareupdate --install-rosetta
M1 MacでFlutterを使うことについての補足は、公式がこのページにまとめている。
https://github.com/flutter/flutter/wiki/Developing-with-Flutter-on-Apple-Silicon
iOSプラットフォームのセットアップ
iOS用のFlutterアプリを開発するにはXcodeが必要なので、
Apple Developerのページからダウンロードするか、App Storeから入手する。
実機にデプロイする
Cocoapods
HomebrewでCocoapodsをインストールする。
brew install cocoapods
MacにiPhoneを接続
双方でデバイスを信頼するかどうかのダイアログが表示されるので、
次に進むには「信頼」を選択する。
Xcode
プロジェクトのディレクトリに移動し、下記コマンドでXcodeを開く。
cd my_app
open ios/Runner.xcworkspace
プルダウンから接続したデバイス名を選択する
TARGETS > Runnerを選択する
Signing & Capabilitiesタブを開く
-
Add Account…ボタンを押下する
ポップアップウィンドウが表示されるので、Apple IDでログインする
元の画面に戻る
-
Teamプルダウンメニューから手順5.でログインしたチームを選択する
-
Bundle Identifierについてのエラーが出るので、一意の値となるよう変更する。
これは実際にApp Storeで発表する際には重要な値となるが個人で使用する分にはあまり神経質になる必要は無い。
デペロッパを信頼する
画面左上の実行ボタンをクリックするとビルドが開始される。
途中で何度かパスワードを求められるので、Macのユーザーパスワードを入力する。
ビルド成功後、接続したiPhoneにアプリがインストールされる。
しかし、デベロッパを信頼していないので、iPhoneでアプリを実行することはできない。
設定画面 > 一般 > プロファイルとデバイス管理から、デペロッパを信頼する。
再度Macからアプリを起動すると、今度はiPhoneで実行できる。