firebase-ios-sdk: The Code signature validation failed on v10.24.0
Description
Hi
Today, I updated firebase-ios-sdk v10.24.0 from v10.22.0 using Zip file. I faced XCFramework signature error. I did downgrade to v10.22.0 and rebuild again but it is failed same error.
Does anyone have ideas to fix this issue?
Script file is here
Expand download-firebase.sh snippet
#!/bin/sh
version=`cat .firebase-version`
curl -L https://github.com/firebase/firebase-ios-sdk/releases/download/${version}/Firebase.zip -o .firebase/Firebase.zip --create-dirs
unzip -o .firebase/Firebase.zip -d .firebase
# FirebaseCrashlytics
cp -rf .firebase/Firebase/FirebaseCrashlytics MyAppPackage/XCFrameworks
cp -f .firebase/Firebase/FirebaseCrashlytics/upload-symbols scripts/FirebaseCrashlytics/upload-symbols
cp -f .firebase/Firebase/FirebaseCrashlytics/run scripts/FirebaseCrashlytics/run
# FirebaseAnalytics
cp -rf .firebase/Firebase/FirebaseAnalytics MyAppPackage/XCFrameworks
# FirebaseInAppMessaging
cp -rf .firebase/Firebase/FirebaseInAppMessaging MyAppPackage/XCFrameworks
cp -rf .firebase/Firebase/FirebaseMessaging MyAppPackage/XCFrameworks
## FirebaseRemoteConfig
cp -rf .firebase/Firebase/FirebaseRemoteConfig MyAppPackage/XCFrameworks
# FirebaseAuth
cp -rf .firebase/Firebase/FirebaseAuth MyAppPackage/XCFrameworks
# FirebasePerformance
cp -rf .firebase/Firebase/FirebasePerformance MyAppPackage/XCFrameworks
Reproducing the issue
Just update to v10.24.0 from v10.22.0
Firebase SDK Version
10.24.0
Xcode Version
15.3
Installation Method
Zip
Firebase Product(s)
AB Testing, Analytics, Authentication, Crashlytics, In-App Messaging, Performance, Remote Config
Targeted Platforms
iOS
Relevant Log Output
No response
If using Swift Package Manager, the project’s Package.resolved
Expand Package.resolved snippet
N/A
If using CocoaPods, the project’s Podfile.lock
Expand Podfile.lock snippet
N/A
About this issue
- Original URL
- State: closed
- Created 3 months ago
- Comments: 19 (6 by maintainers)
Oh no, I forgot to remove the tmp download directory. After deleting it, it was verified correctly. Thank you all very much.
There should not be a privacy manifest bundle in the framework folder. It should only be in the Resources folder. Make sure to remove the previous version’s xcframework before copying in the new one.
Pre-10.24.0, the macOS/Catalyst slices had the privacy manifest bundle at the root of the framework, but now we added them in the Resources directory
Perhaps when you did the copy, the framework-level bundle stuck around and wasn’t overwritten/deleted, so it is breaking the signature.
The platform
ios-arm64_x86_64-maccatalyst,macos-arm64_x86_64includes a symlink. When copying files with thecp -rfoption, the symlink breaks, causing validation to fail. The issue can be resolved by using thecp -rfPoption to copy files and folders while preserving the symlink.