🖐️

【Flutter エラー】Semantic Issue (Xcode): Property 'linkDomain' ...

2025/02/21に公開

現象

firebase_authのパッケージのアップデート後にflutter runを実行したところ、エラーが発生しました。

console
Semantic Issue (Xcode): Property 'linkDomain' not found on object of type 'FIRActionCodeSettings *'
/Users/ユーザー名/.pub-cache/hosted/pub.dev/firebase_auth-5.5.0/ios/firebase_auth/Sources/firebase_auth/PigeonParser.m:136:17

Could not build the application for the simulator.
Error launching application on iPhone 15.

環境・バージョン

- flutter : 3.27.3
- firebase_core: ^3.12.0
- firebase_auth: ^5.5.0

解決法

いくつかの方法を試したのですが、結果的にはiosフォルダ配下のPodfileで使用するfirebaseのバージョンを上書きしていることが問題でした。

ios/Podfile
target 'Runner' do
  use_frameworks!
  use_modular_headers!
  
  # ↓ここが不要だった! Override Firebase SDK Version
   $FirebaseSDKVersion = '10.22.0'

  flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
  target 'RunnerTests' do
    inherit! :search_paths
  end
end

FirebaseSDKVersionの行を削除することで解決することができました。
おそらく他のエラー対処の際に追加したものと思います。

念の為、修正後は以下のコマンドを実行しました

console
cd ios

pod cache clean --all

sudo rm -r Pods Podfile.lock

pod install --repo-update

cd ..

flutter run

失敗した方法

firebase関連のパッケージをバージョンアップ

キャッシュクリアが問題かと思ったのですが、最終的にfirebase関連のパッケージのバージョン間で同期が取れていないことが問題でした。

pubspec.yaml
// 2025/2月時点で最新のバージョンに更新
  # firebase
  firebase_core: ^3.12.0
  cloud_firestore: ^5.6.4
  firebase_auth: ^5.5.0
  firebase_storage: ^12.4.3

ローカルマシンのキャッシュ削除

ローカルマシンのキャッシュにあるパッケージのバージョンとプロジェクト内のパッケージバージョンに相違があると仮定して、ローカルマシンのキャッシュを削除し、再度実行しましたが、同じエラーが発生しました。

// /Users/ユーザー名/.pub-cache/ 配下のキャッシュが削除されます
flutter pub cache clean

プロジェクトキャッシュの削除

以下のコードでプロジェクトキャッシュの削除を試みましたが、プロジェクトのキャッシュ削除を実行しており、問題の解決にはつながりませんでした。

flutter clean && flutter pub get

cd ios

pod cache clean --all

sudo rm -r Pods Podfile.lock

pod install --repo-update

おわりに

エラー対応をする際は他のコードに影響が及ばないかを考えながら修正していこうと思います。

Discussion