firebase-ios-sdk icon indicating copy to clipboard operation
firebase-ios-sdk copied to clipboard

Build fail on FBLPromises_Privacy.bundle after new version released

Open deepakkumarchauhan opened this issue 11 months ago • 12 comments

Description

Build is failing with the below error-

error: Build input file cannot be found: '/Users/abc/Library/Developer/Xcode/DerivedData/abcApp-dsxfloyqlolsmrfqljkjrkfzimnk/Build/Products/Debug-iphonesimulator/PromisesObjC/FBLPromises_Privacy.bundle/FBLPromises_Privacy'. Did you forget to declare this file as an output of a script phase or custom build rule which produces it? (in target 'PromisesObjC-FBLPromises_Privacy' from project 'Pods')

To fix this I need to manually add downgraded version of promise in my podfile.

But today again the same issue I am facing with these 2 bundle also and I had to manually add the downgraded version in my podfile- pod 'GoogleUtilities', '7.12.0' (downgrade version) pod 'GoogleDataTransport', '9.3.0' (downgrade version)

I am using firebase latest (10.21.0) version.

Reproducing the issue

Use the latest firebase version (10.21.0) and update the pod and build the app.

Firebase SDK Version

10.21.0

Xcode Version

15.3

Installation Method

CocoaPods

Firebase Product(s)

Crashlytics, In-App Messaging, Messaging, Performance, Remote Config

Targeted Platforms

iOS

Relevant Log Output

error: Build input file cannot be found: '/Users/abc/Library/Developer/Xcode/DerivedData/abcApp-dsxfloyqlolsmrfqljkjrkfzimnk/Build/Products/Debug-iphonesimulator/PromisesObjC/FBLPromises_Privacy.bundle/FBLPromises_Privacy'. Did you forget to declare this file as an output of a script phase or custom build rule which produces it? (in target 'PromisesObjC-FBLPromises_Privacy' from project 'Pods')

If using Swift Package Manager, the project's Package.resolved

No response

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet

  - Firebase (10.21.0):
    - Firebase/Core (= 10.21.0)
  - Firebase/Core (10.21.0):
    - Firebase/CoreOnly
    - FirebaseAnalytics (~> 10.21.0)
  - Firebase/CoreOnly (10.21.0):
    - FirebaseCore (= 10.21.0)
  - Firebase/Crashlytics (10.21.0):
    - Firebase/CoreOnly
    - FirebaseCrashlytics (~> 10.21.0)
  - FirebaseABTesting (10.21.0):
    - FirebaseCore (~> 10.0)
  - FirebaseAnalytics (10.21.0):
    - FirebaseAnalytics/AdIdSupport (= 10.21.0)
    - FirebaseCore (~> 10.0)
    - FirebaseInstallations (~> 10.0)
    - GoogleUtilities/AppDelegateSwizzler (~> 7.11)
    - GoogleUtilities/MethodSwizzler (~> 7.11)
    - GoogleUtilities/Network (~> 7.11)
    - "GoogleUtilities/NSData+zlib (~> 7.11)"
    - nanopb (< 2.30910.0, >= 2.30908.0)
  - FirebaseAnalytics/AdIdSupport (10.21.0):
    - FirebaseCore (~> 10.0)
    - FirebaseInstallations (~> 10.0)
    - GoogleAppMeasurement (= 10.21.0)
    - GoogleUtilities/AppDelegateSwizzler (~> 7.11)
    - GoogleUtilities/MethodSwizzler (~> 7.11)
    - GoogleUtilities/Network (~> 7.11)
    - "GoogleUtilities/NSData+zlib (~> 7.11)"
    - nanopb (< 2.30910.0, >= 2.30908.0)
  - FirebaseCore (10.21.0):
    - FirebaseCoreInternal (~> 10.0)
    - GoogleUtilities/Environment (~> 7.12)
    - GoogleUtilities/Logger (~> 7.12)
  - FirebaseCoreExtension (10.21.0):
    - FirebaseCore (~> 10.0)
  - FirebaseCoreInternal (10.21.0):
    - "GoogleUtilities/NSData+zlib (~> 7.8)"
  - FirebaseCrashlytics (10.21.0):
    - FirebaseCore (~> 10.5)
    - FirebaseInstallations (~> 10.0)
    - FirebaseSessions (~> 10.5)
    - GoogleDataTransport (~> 9.2)
    - GoogleUtilities/Environment (~> 7.8)
    - nanopb (< 2.30910.0, >= 2.30908.0)
    - PromisesObjC (~> 2.1)
  - FirebaseInstallations (10.21.0):
    - FirebaseCore (~> 10.0)
    - GoogleUtilities/Environment (~> 7.8)
    - GoogleUtilities/UserDefaults (~> 7.8)
    - PromisesObjC (~> 2.1)
  - FirebaseMessaging (10.21.0):
    - FirebaseCore (~> 10.0)
    - FirebaseInstallations (~> 10.0)
    - GoogleDataTransport (~> 9.3)
    - GoogleUtilities/AppDelegateSwizzler (~> 7.8)
    - GoogleUtilities/Environment (~> 7.8)
    - GoogleUtilities/Reachability (~> 7.8)
    - GoogleUtilities/UserDefaults (~> 7.8)
    - nanopb (< 2.30910.0, >= 2.30908.0)
  - FirebasePerformance (10.21.0):
    - FirebaseCore (~> 10.5)
    - FirebaseInstallations (~> 10.0)
    - FirebaseRemoteConfig (~> 10.0)
    - FirebaseSessions (~> 10.5)
    - GoogleDataTransport (~> 9.2)
    - GoogleUtilities/Environment (~> 7.8)
    - GoogleUtilities/ISASwizzler (~> 7.8)
    - GoogleUtilities/MethodSwizzler (~> 7.8)
    - nanopb (< 2.30910.0, >= 2.30908.0)
  - FirebaseRemoteConfig (10.21.0):
    - FirebaseABTesting (~> 10.0)
    - FirebaseCore (~> 10.0)
    - FirebaseInstallations (~> 10.0)
    - FirebaseSharedSwift (~> 10.0)
    - GoogleUtilities/Environment (~> 7.8)
    - "GoogleUtilities/NSData+zlib (~> 7.8)"
  - FirebaseSessions (10.21.0):
    - FirebaseCore (~> 10.5)
    - FirebaseCoreExtension (~> 10.0)
    - FirebaseInstallations (~> 10.0)
    - GoogleDataTransport (~> 9.2)
    - GoogleUtilities/Environment (~> 7.10)
    - nanopb (< 2.30910.0, >= 2.30908.0)
    - PromisesSwift (~> 2.1)
  - FirebaseSharedSwift (10.21.0)
  - GoogleAppMeasurement (10.21.0):
    - GoogleAppMeasurement/AdIdSupport (= 10.21.0)
    - GoogleUtilities/AppDelegateSwizzler (~> 7.11)
    - GoogleUtilities/MethodSwizzler (~> 7.11)
    - GoogleUtilities/Network (~> 7.11)
    - "GoogleUtilities/NSData+zlib (~> 7.11)"
    - nanopb (< 2.30910.0, >= 2.30908.0)
  - GoogleAppMeasurement/AdIdSupport (10.21.0):
    - GoogleAppMeasurement/WithoutAdIdSupport (= 10.21.0)
    - GoogleUtilities/AppDelegateSwizzler (~> 7.11)
    - GoogleUtilities/MethodSwizzler (~> 7.11)
    - GoogleUtilities/Network (~> 7.11)
    - "GoogleUtilities/NSData+zlib (~> 7.11)"
    - nanopb (< 2.30910.0, >= 2.30908.0)
  - GoogleAppMeasurement/WithoutAdIdSupport (10.21.0):
    - GoogleUtilities/AppDelegateSwizzler (~> 7.11)
    - GoogleUtilities/MethodSwizzler (~> 7.11)
    - GoogleUtilities/Network (~> 7.11)
    - "GoogleUtilities/NSData+zlib (~> 7.11)"
    - nanopb (< 2.30910.0, >= 2.30908.0)
  - GoogleDataTransport (9.4.0):
    - GoogleUtilities/Environment (~> 7.7)
    - nanopb (< 2.30910.0, >= 2.30908.0)
    - PromisesObjC (< 3.0, >= 1.2)
  - GoogleUtilities/AppDelegateSwizzler (7.13.0):
    - GoogleUtilities/Environment
    - GoogleUtilities/Logger
    - GoogleUtilities/Network
    - GoogleUtilities/Privacy
  - GoogleUtilities/Environment (7.13.0):
    - GoogleUtilities/Privacy
    - PromisesObjC (< 3.0, >= 1.2)
  - GoogleUtilities/ISASwizzler (7.13.0):
    - GoogleUtilities/Privacy
  - GoogleUtilities/Logger (7.13.0):
    - GoogleUtilities/Environment
    - GoogleUtilities/Privacy
  - GoogleUtilities/MethodSwizzler (7.13.0):
    - GoogleUtilities/Logger
    - GoogleUtilities/Privacy
  - GoogleUtilities/Network (7.13.0):
    - GoogleUtilities/Logger
    - "GoogleUtilities/NSData+zlib"
    - GoogleUtilities/Privacy
    - GoogleUtilities/Reachability
  - "GoogleUtilities/NSData+zlib (7.13.0)":
    - GoogleUtilities/Privacy
  - GoogleUtilities/Privacy (7.13.0)
  - GoogleUtilities/Reachability (7.13.0):
    - GoogleUtilities/Logger
    - GoogleUtilities/Privacy
  - GoogleUtilities/UserDefaults (7.13.0):
    - GoogleUtilities/Logger
    - GoogleUtilities/Privacy

deepakkumarchauhan avatar Mar 01 '24 08:03 deepakkumarchauhan

I am facing same issue after update.

akshitverma avatar Mar 01 '24 08:03 akshitverma

What version of CocoaPods are you using and does updating to version 1.15.2 make a difference?

Does clearing DerivedData make a difference? rm -rf /Users/abc/Library/Developer/Xcode/DerivedData/abcApp-dsxfloyqlolsmrfqljkjrkfzimnk

paulb777 avatar Mar 01 '24 15:03 paulb777

Experiencing the same issue on cocoapods 1.15.2. My current hunch is that the privacy changes are somehow not backwards compatible and when modules added the privacy manifest changes they bumped minor version rather than major version. FirebaseAuth dependencies as an example: https://github.com/firebase/firebase-ios-sdk/blob/main/FirebaseAuth.podspec)

s.dependency 'GoogleUtilities/AppDelegateSwizzler', '~> 7.8' s.dependency 'GoogleUtilities/Environment', '~> 7.8' s.dependency 'GTMSessionFetcher/Core', '>= 2.1', '< 4.0'

  • GoogleUtilities automatically bumps up to version 7.13 unless you have the version locked (7.13.0 has the privacy changes)
  • GTMSessionFetcher bumps up to 3.3.1 unless you have the version locked (3.3.1 has privacy changes)

This issue is more prevalent for those of us that use the kotlin multiplatform framework

dtumer avatar Mar 05 '24 17:03 dtumer

What's odd is that the path in the error message indicates that Xcode is looking for an executable inside a bundle, FBLPromises_Privacy.bundle/FBLPromises_Privacy.

A minimal reproducible example would be helpful to further investigate. I was unable to repro following the instructions in the original post.

ncooke3 avatar Mar 05 '24 17:03 ncooke3

Seeing this problem with KMP interaction. This bug has a lot of information and a small sample app the reproduces it from the KMP side KT-66278

MinceMan avatar Mar 05 '24 18:03 MinceMan

duplicates

https://github.com/google/promises/issues/229 https://github.com/google/GoogleUtilities/issues/146

MinceMan avatar Mar 05 '24 21:03 MinceMan

Hey @deepakkumarchauhan. We need more information to resolve this issue but there hasn't been an update in 5 weekdays. I'm marking the issue as stale and if there are no new updates in the next 5 days I will close it automatically.

If you have more information that will help us get to the bottom of this, just add a comment!

google-oss-bot avatar Mar 12 '24 01:03 google-oss-bot

Still an issue

tdc-peter avatar Mar 12 '24 06:03 tdc-peter

What version of CocoaPods are you using and does updating to version 1.15.2 make a difference?

Does clearing DerivedData make a difference? rm -rf /Users/abc/Library/Developer/Xcode/DerivedData/abcApp-dsxfloyqlolsmrfqljkjrkfzimnk

I am using 1.13.0 version and after clean the derived data is still not resolved the issue. I can try updating cocoa pods to 1.15.2

deepakkumarchauhan avatar Mar 12 '24 07:03 deepakkumarchauhan

Hey @deepakkumarchauhan. We need more information to resolve this issue but there hasn't been an update in 5 weekdays. I'm marking the issue as stale and if there are no new updates in the next 5 days I will close it automatically.

If you have more information that will help us get to the bottom of this, just add a comment!

I think I have provided all the info and I am able to repr at my end after updating the pod that is using firebase dependencies.

deepakkumarchauhan avatar Mar 12 '24 07:03 deepakkumarchauhan

@deepakkumarchauhan We have not been able to reproduce with any of the four supported Firebase installation methods. We still need a reproduction case.

If there is an issue specifically with KMP, an issue should be reported to that product.

paulb777 avatar Mar 12 '24 14:03 paulb777

Hey @deepakkumarchauhan. We need more information to resolve this issue but there hasn't been an update in 5 weekdays. I'm marking the issue as stale and if there are no new updates in the next 5 days I will close it automatically.

If you have more information that will help us get to the bottom of this, just add a comment!

google-oss-bot avatar Mar 19 '24 01:03 google-oss-bot

Since there haven't been any recent updates here, I am going to close this issue.

@deepakkumarchauhan if you're still experiencing this problem and want to continue the discussion just leave a comment here and we are happy to re-open this.

google-oss-bot avatar Mar 25 '24 01:03 google-oss-bot