「Unity/GoogleMobileAds/バージョンアップ」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→iosで"Showing Recent Messages Undefined symbol: _OBJC_CLASS_$_GKLocalPlayer"エラーが出るとき) |
(→iosで"Showing Recent Messages Undefined symbol: _OBJC_CLASS_$_GKLocalPlayer"エラーが出るとき) |
||
行48: | 行48: | ||
手順: | 手順: | ||
− | |||
#Build PhrasesでUnityFrameworkを選択し、Link Binary With Librarysを選択し、+を押す | #Build PhrasesでUnityFrameworkを選択し、Link Binary With Librarysを選択し、+を押す | ||
− | #GameKit. | + | #GameKit.frameworkを選択して追加 |
#Pods/FirebaseAuth/FirebaseAuth/Sources/AuthProvider/GameCenter/FIRGameCenterAuthProvider.m を開き | #Pods/FirebaseAuth/FirebaseAuth/Sources/AuthProvider/GameCenter/FIRGameCenterAuthProvider.m を開き | ||
#41行目に以下追加 | #41行目に以下追加 | ||
行59: | 行58: | ||
return; | return; | ||
</pre> | </pre> | ||
+ | しばらく同じ現象が出てたが、xcodeを一度再起動したところ、エラーが消えた。 | ||
+ | |||
参考:https://github.com/firebase/quickstart-unity/issues/898 | 参考:https://github.com/firebase/quickstart-unity/issues/898 | ||
2021年3月13日 (土) 17:55時点における版
目次
- 1 6系から7系へ
- 1.1 DllNotFoundException: FirebaseCppApp-7_1_0エラーが出るとき
- 1.2 RemoteConfig更新
- 1.3 'Packages/com.google.firebase.app/Parse/Plugins/dotNet45/Unity.Compat.dll' conflicts with:エラーが出るとき
- 1.4 iosのpod updateで、"`FirebaseAnalytics` requires CocoaPods version `>= 1.10.0`, which is not satisfied by your current version, `1.9.3"エラーが出る場合
- 1.5 iosで、"Showing Recent Messages Undefined symbol: _RequestReview"エラーが出るとき
- 1.6 iosで"Showing Recent Messages Undefined symbol: _OBJC_CLASS_$_GKLocalPlayer"エラーが出るとき
- 1.7 Androidビルドで"output: Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 The APKs have been extracted in the directory:"が起こるとき
- 2 ほか対応したこと
6系から7系へ
具体的には、6.15.2から7.1.0へ変更したときのエラーメモ
DllNotFoundException: FirebaseCppApp-7_1_0エラーが出るとき
FirebaseAnalytics.unitypackageとかのファイルからインストールするのをやめて、 Window/PackageManagerのFirebaseAnalyticsとかからinstallする。
古いfirebaseなどは削除。以下辺り
- Assets/Editor\ Default\ Resources/Firebase
- Assets/Firebase
- Plugins/iOS
- Plugins/x86_64
RemoteConfig更新
staticからinstance生成形式に
- Task fetchTask = Firebase.RemoteConfig.FirebaseRemoteConfig.FetchAsync(new TimeSpan(0)); + Task fetchTask = Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.FetchAsync(new TimeSpan(0)); - Debug.Log("version=" + Firebase.RemoteConfig.FirebaseRemoteConfig.GetValue("version").StringValue); + Debug.Log("version=" + Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.GetValue("version").StringValue);
ActivateFetchedのメソッドが削除され使えない場合
ActivateAsyncへ変更して修正
- Firebase.RemoteConfig.FirebaseRemoteConfig.ActivateFetched(); + Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.ActivateAsync();
'Packages/com.google.firebase.app/Parse/Plugins/dotNet45/Unity.Compat.dll' conflicts with:エラーが出るとき
unitypackageとPackageManagerでいれたdllが競合してると思われるので、 Assets/Parse/Pluginsにある、Unity.Compat.dllとかを削除すればよい。
iosのpod updateで、"`FirebaseAnalytics` requires CocoaPods version `>= 1.10.0`, which is not satisfied by your current version, `1.9.3"エラーが出る場合
以下実行
sudo gem update -n /usr/local/bin cocoapods
iosで、"Showing Recent Messages Undefined symbol: _RequestReview"エラーが出るとき
Showing Recent Messages Undefined symbol: _RequestReview
レビューライブラリを入れてる場合、削除されてない確認。削除されていれば追加して。replaceでビルド。
Assets/Plugins/iOS/ReviewPlugin.mm
iosで"Showing Recent Messages Undefined symbol: _OBJC_CLASS_$_GKLocalPlayer"エラーが出るとき
GameKit.frameworkをUnityFrameworkに追加して、コード修正すれば直ると書いてる。
手順:
- Build PhrasesでUnityFrameworkを選択し、Link Binary With Librarysを選択し、+を押す
- GameKit.frameworkを選択して追加
- Pods/FirebaseAuth/FirebaseAuth/Sources/AuthProvider/GameCenter/FIRGameCenterAuthProvider.m を開き
- 41行目に以下追加
if (completion) { completion(nil, [FIRAuthErrorUtils gameKitNotLinkedError]); } return;
しばらく同じ現象が出てたが、xcodeを一度再起動したところ、エラーが消えた。
参考:https://github.com/firebase/quickstart-unity/issues/898
参考:https://github.com/facebook/facebook-sdk-for-unity/issues/504
"Building for iOS, but the linked framework 'GameKit.framework' was built for Mac Catalyst."と出る場合
追加したGameKit.frameworkのPlatformが初期状態で、MacOSだったのを無理やり、MacOS+iOSに変更するとそうなる。
コピー元のGameKit.frameworkが悪い可能性があるので、/System/Library/Frameworks/GameKit.frameworkあたりのを使う。
Androidビルドで"output: Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 The APKs have been extracted in the directory:"が起こるとき
- keyがdebugになっていて、インストール端末と、合わなかったので、customのkeyにしたところ直った。
ほか対応したこと
- Androidは、ARM64対応
- Androidビルドはもともと29だったので、29へ
- 以下Androidのカスタムビルドファイルをonへ
Assets/Plugins/Android/gradleTemplate.properties Assets/Plugins/Android/mainTemplate.gradle Assets/Plugins/Android/AndroidManifest.xml