iOS 16以降のiPhoneでのFlutterアプリ実機テストのやり方

flutter

はじめに

はじめに、アプリの開発者として、アプリの実機テストは重要な工程の一つとなります。エミュレータ上でアプリが正常に動作することを確認した後、次に行うべきステップはアプリを実際のデバイスにインストールしてテストすることです。この記事では、iOS 16以降のiPhoneでFlutterアプリの実機テストを行う方法について詳しく解説します。

前提条件

Flutterの開発環境がすでに整っていることを前提とします。まだ環境が整っていない場合は、公式のFlutter Get Startedドキュメントを参照してください。

またはこちらも参考にしてください

初めてのFlutter/Dartマルチプラットフォームアプリ開発チュートリアル
はじめに FlutterはGoogleが開発した、マルチプラットフォームのモバイルアプリ開発のフレームワークです。Flutterを使うと、AndroidとiOSの両方のプラットフォームで同時にアプリを開発することができます。 また、ブラウザ...

手順

iPhoneの開発者モードをオンにする

まず、実機でテストしたい端末と開発で利用するmacを任意のUSBケーブルなどで繋ぎます。

繋ぐと設定→プライバシーとセキュリティの下のセキュリティの部分に「デベロッパモード」が表示されているのでこれをオンにします

オンにすると再起動がかかるのでiPhoneの再起動をしましょう

再起動すると「デベロッパモードをオンにしますか?」と聞かれるのでオンにするをタップします。

パスコードを聞かれるので端末のパスコードを入力してデベロッパモードがオンになります

Xcodeからプロジェクトを開く

Flutterプロジェクトのプロジェクトルート/ios/Runner.xcodeprojをクリックしてプロジェクトをXcodeで開きます(Xcodeがインストールされていれば、自動的に開いてくれるはずです)

Xcodeを開き、自身の端末がデバッグ対象の端末に設定されていることを確認します

※ここで端末が選択できない場合は、ケーブルを繋ぎ直してみてください

Apple Developerアカウントを設定

左側のRunnerをクリックして「Signinig & Capabilities」を選択します

その後Teamの欄にApple Developerアカウントを設定します

VSCodeでの実行

この状態で、VSCodeまたは、ターミナルから実行します

VSCodeを開いて、端末の設定に実機が表示されていますのでこちらを選択します

選択した状態で、main.dartを選択し、メニューから「実行」→「デバッグの開始」をクリックします。右上にある「▶️」ボタンをクリックでも実行できます。

実行するとmacのキーチェーンのアクセスを何回か求められるのでmacのパスワードを入力して、許可するをクリックします

ビルドが正常に通ると実機にインストールされ、実行できます

コマンドでの実行

端末を調べて、端末の名前があるかを確認します

$ flutter devices

結果に自分の端末名が登録されていることを確認します

flutter devices
4 connected devices:

iPhoneSE2 (mobile)         • XXXXX-XXXXXXXXXXX            • ios            • iOS 16.4.1 20E252
iPhone 14 Pro Max (mobile) • XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-4
(simulator)

次にios用にビルドします(ビルドが通らない場合は一旦flutter cleanを試してみてください)

flutter build ios

最後に下記で端末にインストールします

flutter install -d {端末名または端末ID}

これでインストールは完了です

信頼されてないデベロッパと出る場合

インストールしたアプリが「信頼されていないデベロッパ」と出る場合は、設定→一般→VPNとデバイス管理からデベロッパAPPのアプリをタップします

タップすると「”Apple Development:{apple developper id}”を信頼」のボタンをタップします。その後出るダイアログで「信頼」ボタンをタップして信頼するとインストールしたアプリが利用できます

まとめ

iOS 16以降のiPhoneでのFlutterアプリの実機テストの手順を完了します。開発中のアプリを実際のデバイス上でテストすることで、エミュレータでは捉えきれない実際のユーザー体験を得ることができます。