1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

FlutterでERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: type 'List<Object?>' is not a subtype of type 'PigeonUserDetails?' in type castが出た時の解決方法

Posted at

はじめに

firebase_auth導入後にIOSのエミュレータでSignUpまたはloginを利用しようとしたときに以下のエラーが出ていました。

Firebaseのバージョン

  • firebase_core: ^3.6.0
  • firebase_auth: ^5.3.1
ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: type 'List<Object?>' is not a subtype of type 'PigeonUserDetails?' in type cast
#0      PigeonUserCredential.decode (package:firebase_auth_platform_interface/src/pigeon/messages.pigeon.dart:432:23)
#1      _FirebaseAuthHostApiCodec.readValueOfType (package:firebase_auth_platform_interface/src/pigeon/messages.pigeon.dart:830:37)
#2      StandardMessageCodec.readValue (package:flutter/src/services/message_codecs.dart:477:12)
#3      StandardMessageCodec.readValueOfType (package:flutter/src/services/message_codecs.dart:522:23)
#4      _FirebaseAuthHostApiCodec.readValueOfType (package:firebase_auth_platform_interface/src/pigeon/messages.pigeon.dart:840:22)
#5      StandardMessageCodec.readValue (package:flutter/src/services/message_codecs.dart:477:12)
#6      StandardMessageCodec.decodeMessage (package:flutter/src/services/message_codecs.dart:341:28)
#7      BasicMessageChannel.send (package:flutter/src/services/platform_channel.dar<…>

解決方法

実行環境

使用PC:MacBockAir M2
統合開発環境:Android Studio

結論から言うと以下の方法で解決出来ました。

cd ios
pod update Firebase/Auth
pod install --repo-update
cd ..
flutter clean
flutter pub get
flutter run

この方法ではFirebaseとpod側とのバージョンの不一致が起きていたためエラーが出ていたらしいので、pod側で最新の互換性のあるバージョンを取得してエラーを解消しました。

次にpod install --repo-update でcocoaPodsのリポジトリを更新しました。

失敗例

Firebaseのバージョンを落とす

firebase_core: ^3.6.0
->firebase_core: ^2.32.0

firebase_auth: ^4.15.3
->firebase_core: ^2.32.0

エラー文を調べてみるとFirebaseのバージョン関係でエラーが出ているのが分かったのでこちらを実行してみると、、、
普通に同様のエラーが出ました。

Firebaseのバージョンを互換性のある最新バージョンにする

flutter pub upgrade firebase_auth
flutter clean
flutter pub get

これは逆に互換性のある最新バージョンにしてみました。
こちらも普通にエラーです。(そもそもの原因がIOSディレクトリのPodととのバージョン不一致だからPod側を最新にしないといけなかったですね)

podの再インストール

cd ios
pod update
pod install --repo-update
cd ..
flutter run

AIに聞いた時に 「多くのパッケージに新しいバージョンがありますが、現在の依存関係の制約と互換性がありません」 ということでしたので、podを入れ直しました。
うーん、エラー表記変わらず,,,,

終わりに

このエラーの解決方法がネットやサイトで見つけられなかったのでなかなか苦戦しました。
今回の解決方法はかなり時間がかかったので、Flutterのバージョン問題はなかなか骨が折れることを実感しました。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?