いつもSimulatorを通じてFlutterプロジェクトを実行していました。キーボードを新しく買ってBluetoothでM1に接続したら、マウスとヘッドセットもワイヤレスで接続していたため途切れがひどくなり、キーボードにはドングルが必要になりました。そこでキーボードのドングルを挿す用にAliExpressでUSBが使えるハブを買ったのですが、Type-Cポートもいくつか付いていたので、これをiPhoneと接続して開発したらいいなと思いました。
iPhoneで開発者モードを設定する#
既にType-C to 8-pinケーブルがいくつかあったので、すぐに接続してiPhoneでこのコンピューターを信頼するか確認して承認した後、VS Codeで実行デバイスをiPhoneに設定しました。
しかし以下のような警告メッセージが表示されて実行できませんでした。

指示内容は、設定でプライバシーとセキュリティから開発者モードを設定するということでした。設定アプリを開いてプライバシーとセキュリティを選択してください。


プライバシーとセキュリティに入った後、一番下までスクロールしてください。すると開発者モードが見えるはずです。自分は「オフ」に設定されていました。


開発者モードをオンにして再起動した後、ロック画面からホーム画面に進むとオンにするかどうかのメッセージがもう一度表示されます。キャンセルを押した場合に開発者モードをオンにする必要があれば、再度プライバシーとセキュリティに入って進めてください。

「もう大丈夫だろう」と思って実行してみたら、以下のようなメッセージが表示されて実行できませんでした。この問題は署名されていない状態で実行しようとしたためです。

プロジェクトに署名する#
この指示に従って進めます。ターミナルでプロジェクトのルートにいる場合、open ios/Runner.xcworkspaceコマンドでXcodeを開いてください。
左サイドバーでRunnerを選択してください。もしRunnerが見えない場合は、Runnerの上にある青いフォルダが選択されていない可能性があります。

ProjectにもRunnerがあり、TargetsにもRunnerがあるはずです。TargetsのRunnerを選択してください。
そしてSigning & Capabilitiesを選択してください。おそらく自分と同じようにTeamがNoneになっているはずです。

Apple個人アカウントを選択し、下にSign Inボタンが表示されたので選択してパスワードを入力しました。
「もう大丈夫だろう」と思って実行したら、また別の問題が発生して実行できませんでした。

キーチェーンを適用する#
Xcodeでプロジェクトが閉じている場合は再度開いてください。そして上部のRunner > 使用するiPhoneを選択してください。そしてビルドが必要なので上部左の再生アイコンを押してください。
しばらく待つとキーチェーンのパスワードを要求されたので、iPhoneのパスワード、Macのパスワード、Appleアカウントのパスワードを入力しましたが全部間違いで、何かおかしいと思い値を空にして確認を押したら通りました。

XcodeにもiPhoneにも何らかの警告メッセージが表示されて、また実行できませんでした。
そしてiPhoneにはアプリがインストールされましたが、実行されず押してみると警告メッセージだけが表示されていました。

iPhoneでアプリを信頼する#
設定 -> 一般 -> VPNとデバイス管理を選択してください。すると開発者アプリの項目にXcodeでログインしたアカウントで信頼できないと表示されているはずです。それを押してください。


次の画面に進むと上部に信頼ボタンがあるので、これを押して表示されるモーダルで右側にある赤いテキストの「信頼」を選択してください。
そしてXcodeでもう一度ビルドする必要があるので、上部左の再生アイコンを押してください。
すると正常に実行されるはずです。その後はVS Codeから実行してもうまくいくはずです!
VS Codeで初めて実行する場合、Xcodeの制御権限を要求されますが、許可してください。
以下のようにインストールと実行がうまくいくことを確認できました!


役に立つかもしれないこと#
Issue navigator
この作業中に経験したことですが、XcodeでFlutterプロジェクトを開くとIssue navigatorに多くの警告メッセージが表示されるでしょう。自分は約300個ほど表示されました。変更しないことをおすすめしますが、変更が必要な場合は事前に確認・バックアップ・コミットしておくことをおすすめします。
最初は何も考えずdart fixのように良い方向に修正してくれるものだと思って適用したのですが、その後動かなくなりました。
iosフォルダに入ってからpod install --repo-updateコマンドを実行して元に戻しました。
codesign入力のスキップ
iPhoneでプロジェクトを実行するたびにcodesignのパスワード入力が求められていました。最初は問題なかったのですが、毎回入力するのが面倒になり方法がないか探しました。
iPhoneで設定するものだと思っていましたが、使用しているコンピューターで設定すれば済むことでした。
まずキーチェーンアクセスというアプリを開いてください。

するとパスワードを開くかキーチェーンを開くか聞かれますが、青いボタンの代わりにリストの2番目のグレーのボタンを押してください。

ユーザー設定キーチェーン -> Apple Developmentを右クリックすると、このようなオプションが表示されます。
そこでキーチェーンのロック解除を押してパスワードを入力してください。自分は特に設定していなかったので、入力なしで確認を押しました。
In the business world, the rearview mirror is always clearer than the windshield.
— Warren Buffett