Udemy の「Flutterアプリ開発講座(初級編)」の Chapter 9 の TODO アプリを作成中に以下のエラーが発生し、解決に時間を要したため対応方法について記録しておきます。
Parse Issue (Xcode): A template argument list is expected after a name prefixed by the template keyword
/Users/*****/StudioProjects/chapter09/ios/Pods/gRPC-Core/src/core/lib/promise/detail/basic_seq.h:102:37
このエラーは、FlutterアプリのFirebase連携でよく起こる問題で、
主にiOSの最小バージョン設定とFirebase SDKのバージョン互換性の問題が原因だそうです。
同じ事象に直面した方を発見して、以下記事の対応を試したけども解決しなかったため、追加の対応を行いました。
Flutter のビルドで Error (Xcode): unsupported option '-G' for target 'x86
1. iOSの最小バージョンを上げる
ios/Podfile
を開いて、以下のように修正します:
# 現在の設定(コメントアウトされている)
# platform :ios, '11.0'
# これを以下に変更
platform :ios, '15.0' # または '14.0'
2. 最新バージョンへ更新
Firebaseライブラリを最新版もしくは安定しているものを調べて置き換えます:
dependencies:
flutter:
sdk: flutter
firebase_core: ^3.6.0
cloud_firestore: ^5.4.3
3. クリーンアップとリビルド
以下のコマンドを順番に実行して再ビルドします。
# Flutterのクリーン
flutter clean
# 依存関係の再取得
flutter pub get
# iOSのPodを削除してからインストール
cd ios
rm -rf Pods Podfile.lock
pod install
cd ..
# 再ビルド
flutter run (もしくはDebugモード実行)
ビルド時間がとてつもなく長かったので、build後にレスポンスがなかったとしても根気よく待ちましょう。