2022/5/27 追記
Firebaseの最新版が正式に対応したため、そちらを使用すればよい。
この記事は過去の記録として残しておく。
表題の通り以下エラーが発生する。
DllNotFoundException: FirebaseCppApp-X_X_X assembly: type: member:(null)
×PackageManager経由でのダウンロード
×unitypackageでのimport
解決方法
どうもApple Silicon対応のUnityはFirebaseのSDKに対応していないらしい。
以下リンクの通りに対処することで回避可能。
(Intel版ならエラーが発生しないらしいが、遅くて使う気になれないため)
[Bug] Apple Silicon – DllNotFoundException #1100
- 8.8.0のFirebaseの必要なSDKをダウンロードしてimport https://developers.google.com/unity/archive
- リンクからbundleをダウンロード https://samskivert.com/firebase-bundles.zip
- /Firebase/Plugins/x86_64/の下の.bundleファイル2のbundleに置き換え
- Inspectorでbundleファイルの設定を元のbundleファイルと同様に変更(ターゲットのOSとか)
PackageManagerを使用する場合は、以下手順
- 8.8.0のFirebaseの必要なSDKのtarをダウンロード https://developers.google.com/unity/archive
- リンクからbundleをダウンロード https://samskivert.com/firebase-bundles.zip
- プロジェクトディレクトリの直下にGooglePackagesディレクトリを作成して、tarを配置
- tarを解凍して、プロジェクト/GooglePackages/package/Firebase/Plugins/x86_64/の下の.bundleファイルを2のbundleに置き換え
- 解凍したディレクトリを再度圧縮(tar / tgz どちらか)
- Package/manifest.jsonに以下を追記
{ "dependencies": { ... "com.google.external-dependency-manager": "file:../GooglePackages/com.google.external-dependency-manager-1.2.169.tar", "com.google.firebase.app": "file:../GooglePackages/com.google.firebase.app-8.8.0.tgz", ...
ちなみに、firebaseの設定ファイルはAssets/StreamingAssetsフォルダに格納する必要があった。
一刻も早く正式対応してほしいですね。→9.0.0で対応したようです。
コメント