Closed psbss closed 7 months ago
I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.
We're also seeing this behaviour but in Xcode 15.2
.
Thanks for reporting. @tristan-warner-smith, are you also using a script to process the Firebase.zip?
@psbss, when downgrading, try to delete the directory containing the XCFrameworks and all references to the framework paths. I would also clean Xcode's cache. The fact that the same error appears after downgrading could mean that Xcode is remembering some state from the 10.24 installation.
Thanks for reporting. @tristan-warner-smith, are you also using a script to process the Firebase.zip?
We're not processing it, we've been using this to generate binary target frameworks for a couple of years. I haven't checked recently to see if you now support all of the frameworks we use, so we might be able to go back to main on this?
I suspect this issue may be caused by the introduction of symlinks within XCFrameworks in 10.24.0. If the XCFrameworks are copied, it's possible that the symlinks are not preserved which would break the code signature.
@psbss, instead of cp -rf
, try rsync -a
Hi @ncooke3 I tried your suggestion but still failed verification.
rm -rf ~/Library/Developer/Xcode/DerivedData/
some libraries signature verified
but these libraries are not.
- FBLPromises.xcframework
- FirebaseCore.xcframework
- FirebaseCoreInternal.xcframework
- FirebaseInstallations.xcframework
- GoogleUtilities.xcframework
- nanopb.xcframework
- FirebaseAuth.xcframework
- GTMSessionFetcher.xcframework
- FirebaseCoreExtension.xcframework
- FirebaseCrashlytics.xcframework
- GoogleDataTransport.xcframework
- Promises.xcframework
- FirebaseABTesting.xcframework
- FirebaseMessaging.xcframework
- GoogleDataTransport.xcframework
- FirebaseABTesting.xcframework
- FirebaseCoreExtension.xcframework
- FirebaseRemoteConfig.xcframework
- GoogleDataTransport.xcframework
- Promises.xcframework
- FirebaseABTesting.xcframework
- FirebaseRemoteConfig.xcframework
download-firebase.sh
snippetThe platform ios-arm64_x86_64-maccatalyst
, macos-arm64_x86_64
includes a symlink. When copying files with the cp -rf
option, the symlink breaks, causing validation to fail. The issue can be resolved by using the cp -rfP
option to copy files and folders while preserving the symlink.
Hi @bforrose I tried your suggestion but it did not work well.
Hi @psbss
Need to add the capital P
option. The lowercase p
does not copy while preserving symbolic links.
cp -rfP
Thank you replay! but still failed signature verification 😢 The same as this one. https://github.com/firebase/firebase-ios-sdk/issues/12740#issuecomment-2048844227
This should be treated with high priority, we are also encountering the same issue on multiple projects using various script systems, please remove the symlinks as it's causing only problems.
We recently added the symlinks because Apple started blocking App Store submission without them. Details in #12668
@psbss, could you share a screenshot of one of the copied XCFrameworks that is not working (similar to the screenshot in https://github.com/firebase/firebase-ios-sdk/issues/12740#issuecomment-2049001825)?
Hi @ncooke3 Directory tree is here (no edit).
FirebaseAnalytics
FirebaseAuth
FirebaseCrashlytics
FirebaseInAppMessaging
FirebasePerformance
FirebaseRemoteConfig
one of screenshot is here.
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.
Oh no, I forgot to remove the tmp download directory. After deleting it, it was verified correctly. Thank you all very much.
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```bash #!/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```json N/A ```
If using CocoaPods, the project's Podfile.lock
Expand
Podfile.lock
snippet```yml N/A ```