うちのいぬ Tech Blog

Tech Blog of Uchinoinu/My dog

flutter runすると突然、Warning: CocoaPods not installed. Skipping pod install. というワーニングをはいた後に Error になり run が exit してしまう問題への対応

今回はflutter開発時のトラブルとその解決方法についてになります。

f:id:susanne:20210729114056j:plain

環境

  • Mac OS BigSur 11.4
  • VScode
  • flutter 2.2.0
  • fvm
  • 20200728現在

エラー内容

flutterで開発中 flutter run をすると、にこんなエラーが突然表示されることがありました。

Launching lib/main.dart on iPhone 12 in debug mode...
lib/main.dart:1
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 iPhone 12.
Exited (sigterm)

調べてみると

ぐぐってみるとだいたいが、以下のような

  • cocoapodsを適切にインストールすること
    • sudo gem install cocoapods
  • cocoapodsをhomebrew経由でインストールすること
    • brew install cocoapods
    • brew reinstall cocoapods
    • brew unlink cocoapods && brew link cocoapods
  • flutter cleanをすること
  • PC再起動

といった解決策の記事が見つかりました。

しかし、今回はこのどれでも解決しませんでした。

開発時にエラーが起きたときにまずやること: 何をしたらエラーが発生するようになったか確認

検索しても答えが見つからなかったので、根本的に見直すことにしました。 つまり、実装中にエラーが発生するようになった場合にすること、 何をしたらそのエラーが発生するようになったのか、自分の行動を振り返ること 、です。 今回は、flutterもしくは開発環境のMacという閉じた環境の問題ということがわかっていたので、外的要因は無視して、自分の皇后を振り返ってみました。

そうすると、エラーが起きる前は色々ミーティングとかがあり合間合間での作業をしていましたが、Xcodeでcode signingの調整をしたことを思い出しました。

(↑このあたりを効率的に行うために私がやっている方法があるのですが、それはまたご紹介します)

なので、そのあたりを再度調整しました。

対応の手順

  • VScode
    • fvm flutter config をして 下部の Settings: 欄に ios-signing-cert がないことを確認
      • ある場合は、 fvm flutter config --clear-ios-signing-cert
  • Xcode
    • Signing & Capabilities の中を調整していきます

f:id:susanne:20210729105942p:plain

↑がうまく調整できたら、 flutter run が launch.json 経由で再度たたけるようになりました。