Flutterの実機デバッグでInstalling and launching…から変わらない問題

2022/10/28
2020/02/14

はじめに

今回は、FlutterプロジェクトをiOS実機でデバッグ実行する時に発生したエラーとその時の回避方法を紹介します!

実行環境

  • macOS Mojave 10.14.6
  • iPhone XR iOS13.3.1

flutter doctorの実行結果

$ flutter doctor
[] Flutter (Channel stable, v1.12.13+hotfix.8, on Mac OS X 10.14.6 18G2022, locale ja-JP)
[] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[] Xcode - develop for iOS and macOS (Xcode 11.3.1)
[] Android Studio (version 3.5)
[] VS Code (version 1.42.0)

発生したエラー

1. Android Studioでデバッグ

FlutterのプロジェクトをiOS実機を使用してAndroid Studioでデバッグ実行した時に以下のエラーが発生しました。

Launching lib/main.dart on tatsuya in debug mode…
Automatically signing iOS for device deployment using specified development team in Xcode project: XXXXXXXXXX
Running Xcode build…
Xcode build done. 17.3s
Installing and launching…

私の場合は実機へのインストールは無事にされますが、アプリが一瞬だけ開いてクラッシュしました。

アプリはクラッシュしますが、Android Studio上のデバッグはずっと実行中でした。

2. Xcodeで実行

次に、FlutterプロジェクトのiOSの部分をXcodeで開いて実行すると、以下のエラーが発生しました。

dyld: Library not loaded: @rpath/Flutter.framework/Flutter
Referenced from: /private/var/containers/Bundle/Application/9034AF30-892F-41AE-BF8C-169FD88C3532/Runner.app/Runner
Reason: no suitable image found. Did find:
/private/var/containers/Bundle/Application/9034AF30-892F-41AE-BF8C-169FD88C3532/Runner.app/Frameworks/Flutter.framework/Flutter: code signature invalid for ‘/private/var/containers/Bundle/Application/9034AF30-892F-41AE-BF8C-169FD88C3532/Runner.app/Frameworks/Flutter.framework/Flutter’

こちらも同様に、実機へのインストールは無事にされますがアプリが一瞬だけ開いてクラッシュしました。

原因と回避方法

こちら にissueがあがっていました。

実機のiOS13.3.1 + Personal Team の条件で発生する問題のようです。

Running new app on actual iOS (13.3.1) device crashes on startup…

You can:

Use a non-Personal Team provisioning profile.Run on the 13.3.1 simulator.Test on a real iOS device running 13.3 or lower.

https://github.com/flutter/flutter/issues/49504 より抜粋

対応方法として

  • personal teamではないプロビジョニングプロファイルを使うように変更する
  • 実機ではなくシミュレータを使って実行する
  • iOS13.3以下のiPhoneを使って実機デバッグする

があるようです。

まとめ

今回はFlutterプロジェクトをiOS実機でデバッグを実行する時に発生したエラーとその時の原因、回避方法を紹介しました。

私はまだどうしても実機で確認する必要がなかったので、シミュレータでデバッグすることで対応しました。

iOSのバージョンアップを気長に待とうと思います。笑

Flutter の記事