flutter_inappwebview
パッケージが に追加されたときに、Android Studio が CocoaPods を検出しませんpubspec.yaml
。CocoaPods がインストールされていないと文句を言います。ただし、コンソールからアプリをビルドして実行することはできますflutter run
。
このバグを説明するための最小限のプロジェクトはhttps://github.com/kvutien/my_inappwebviewにあります
理由はありますか?
私の開発構成
- M1 Proチップ搭載のMacbook ProとmacOS 12.1 Monterey
flutter doctor
出力:
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.8.1, on macOS 12.1 21C52 darwin-arm, locale en-LU)
[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 13.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.1)
[✓] Connected device (2 available)
• No issues found!
バグの再現方法
- Android Studio で、新しい Flutter プロジェクトを作成します
- File > Project Structure > Project > Project SDKで使用する SDK を設定し、Android API 32を選択します。
- iOS 仮想デバイスの選択
- ボックスからアプリを実行して、動作することを証明します。
- 開いて、次の行をセクション(テンプレート コードの 29 行目) のすぐ下に
pubspec.yaml
追加します。dependencies
sdk: flutter
flutter_inappwebview: ^5.3.2
- 実行
pub get
して依存関係を更新します - 実行ボタンでアプリを実行する
Android Studio が不平を言う
Launching lib/main.dart on iPad mini (6th generation) in debug mode...
Warning: CocoaPods not installed. Skipping pod install.
CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
Without CocoaPods, plugins will not work on iOS or macOS.
For more info, see https://flutter.dev/platform-plugins
To install see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.
CocoaPods not installed or not in valid state.
Error launching application on iPad mini (6th generation).
Android Studio のターミナルからのビルドと実行は引き続き可能
CocoaPods がないことや、構成に PATH がないことは問題ではありません。
コードを何も変更せずに、 Android Studio の [ターミナル] ペインを開き、flutter run
. ビルドが成功し、アプリが仮想デバイスで実行されます。
Launching lib/main.dart on iPad mini (6th generation) in debug mode...
Running Xcode build...
└─Compiling, linking and signing... 2,243ms
Xcode build done. 8.5s
Syncing files to device iPad mini (6th generation)... 56ms
ただし、Android Studio は適切に動作します。サンプルflutter_inappwebviewer
プロジェクトを参照してください。pub.dev
ターミナルから実行する必要はありません。
それを証明するには:
- Android Studio で、新しい Flutter プロジェクトを作成します
- 上記のようにプロジェクトのSDKを設定します
- iOS 仮想デバイスの選択
- の頭文字
main.dart
をサンプル コードに置き換えます。pub.dev
- 依存関係を追加します
pubspec.yaml
- 走る
pub get
- [実行] ボタンでアプリをビルドして実行する
Android Studio は、このコードで CocoaPods について文句を言うことはありません。
これを説明するプロジェクトはhttps://github.com/kvutien/test_in_app_webviewにあります