Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated GoogleUtilities failing in azure pipeline for ios platform #6047

Closed
bhargavas12 opened this issue Jul 15, 2020 · 24 comments
Closed

Updated GoogleUtilities failing in azure pipeline for ios platform #6047

bhargavas12 opened this issue Jul 15, 2020 · 24 comments
Assignees

Comments

@bhargavas12
Copy link

bhargavas12 commented Jul 15, 2020

Hi,

Azure build-pipeline is failing after the recent update of 'GoogleUtilities' version to 6.7.0.

Below is the error message that we got:

Users/runner/work/1/s/platforms/ios/Pods/GoogleUtilities/GoogleUtilities/AppDelegateSwizzler/Private/GULAppDelegateSwizzler.h:19:9: note: did not find header 'AppDelegateSwizzler/Private/GULApplication.h' in framework

'GoogleUtilities' (loaded from '/Users/runner/work/1/s/platforms/ios/build/emulator')

https://firebase.google.com/support/release-notes/ios

@Vlad-S-Appyfurious
Copy link

I have same issue

[REQUIRED] Step 1: Describe your environment

Xcode version: Version 11.5 (11E608c)
Firebase SDK version: 6.27.0.
Installing Firebase (6.27.0)
Installing FirebaseABTesting (3.3.0)
Installing FirebaseAnalytics (6.6.1)
Installing FirebaseAuth (6.6.0)
Installing FirebaseCore (6.8.0)
Installing FirebaseCoreDiagnostics (1.4.0)
Installing FirebaseCrashlytics (4.2.0)
Installing FirebaseFirestore (1.16.1)
Installing FirebaseInstallations (1.5.0)
Installing FirebaseInstanceID (4.5.0)
Installing FirebaseMessaging (4.5.0)
Installing FirebaseRemoteConfig (4.6.0)
Installing FirebaseStorage (3.7.0)
Installing Flurry-iOS-SDK (10.2.0)
Installing GTMAppAuth (1.0.0)
Installing GTMSessionFetcher (1.4.0)
Installing GoogleAppMeasurement (6.6.1)
Installing GoogleDataTransport (6.2.1)
Installing GoogleDataTransportCCTSupport (3.2.0)
Installing GoogleSignIn (5.0.2)
Installing GoogleUtilities (6.7.0)
Installation method: CocoaPods

[REQUIRED] Step 2: Describe the problem

We have integrated Firebase SDK in our iOS app. We are getting build failed error in file GULAppDelegateSwizzler.h on line #import "GoogleUtilities/AppDelegateSwizzler/Private/GULApplication.h" with description 'GoogleUtilities/AppDelegateSwizzler/Private/GULApplication.h' file not found
Steps to reproduce:
Do "pod update", for getting latest pods versions. Try to build project.

@jfperusse-bhvr
Copy link

Our builds also started failing this morning because of this issue with the latest version of the pods.

@JustinPierce
Copy link

JustinPierce commented Jul 15, 2020

Our builds have been failing since yesterday due to GoogleUtilities 6.7.0. I can confirm they succeed with v6.6.0.

If it helps, I was able to get our app to build successfully by reverting line 19 of GULAppDelegateSwizzler.h to #import <GoogleUtilities/GULApplication.h>.

@bhargavas12
Copy link
Author

Our builds have been failing since yesterday due to GoogleUtilities 6.7.0. I can confirm they succeed with v6.6.0.

If it helps, I was able to get our app to build successfully by reverting line 19 of GULAppDelegateSwizzler.h to #import <GoogleUtilities/GULApplication.h>.

any idea on how to achieve the same in azure pipeline?

@JustinPierce
Copy link

any idea on how to achieve the same in azure pipeline?

This was just me fiddling around on my local machine trying to diagnose the build. If I wanted to hack it into our actual CI process, I'd write a script to patch/replace that file after installing the pods but before building.

@Vlad-S-Appyfurious
Copy link

Our builds have been failing since yesterday due to GoogleUtilities 6.7.0. I can confirm they succeed with v6.6.0.
If it helps, I was able to get our app to build successfully by reverting line 19 of GULAppDelegateSwizzler.h to #import <GoogleUtilities/GULApplication.h>.

any idea on how to achieve the same in azure pipeline?

You can fork repo, change GULAppDelegateSwizzler.h and use pod created from forked repo.

@ryanwilson
Copy link
Member

Hey everyone - sorry for the issues. GULAppDelegateSwizzler.h was marked as a private header which is why it was changed in a breaking way without a major version bump (in order to provide cleaner SwiftPM integration), we weren't aware of any usages of it external to this repo.

That being said, we're going to discuss this within the team to find out how we can best resolve and hopefully restore functionality for those broken projects or provide patches or workarounds for it.

@ryanwilson
Copy link
Member

From comments on the PR that changed things...

react-native-firebase is broken by this change:
#5824 (comment)

Facebook SDK for Unity is broken by this change:
#5824 (comment)

@vstanyshevskyy
Copy link

@ryanwilson nativescript-plugin-firebase is affected as well

@ryanwilson
Copy link
Member

@vstanyshevskyy thanks for letting us know.

If anybody else has projects affected please let us know.

On that note... it may sound silly but if someone has a quick set of repro steps for an affected project it'd save some time for us trying to get up and running with a project we're unfamiliar with in order to see what solutions will work or what workarounds we can suggest.

@ryanwilson
Copy link
Member

@bhargavas12, @Vlad-S-Appyfurious, @jfperusse-bhvr and @JustinPierce - is your project using React Native, another dependency that's affected, or is it a plain ObjC or Swift project? Are you directly using the GULAppDelegateSwizzler.h header somewhere in your own code?

@vstanyshevskyy
Copy link

vstanyshevskyy commented Jul 15, 2020

@ryanwilson my project uses NativeScript which has the same idea as React Native. I'm using nativescript-plugin-firebase which installs Firebase pods https://github.com/EddyVerbruggen/nativescript-plugin-firebase/blob/master/publish/scripts/installer.js#L359.
GULAppDelegateSwizzler.h is not used directly there or in my project

@jfperusse-bhvr
Copy link

@ryanwilson Our project is built with Unity and includes both the Firebase and Facebook SDKs which seem to be affected by the issue. I don't think we are using React Native unless that is a dependency of one of those third party plugins, but the iOS codebase includes both ObjC and Swift. The GULAppDelegateSwizzler.h is only used by those third party plugins.

For Unity users, a workaround we've found is to add a Dependencies.xml editor file with the following content:

<?xml version="1.0" encoding="utf-8"?>
<dependencies>
    <iosPods>
        <iosPod name="GoogleUtilities" version="6.6.0" />
    </iosPods>
</dependencies>

@JustinPierce
Copy link

JustinPierce commented Jul 15, 2020

@ryanwilson Our project is a Cordova app. The reference is coming in via cordova-plugin-firebasex (https://github.com/dpa99c/cordova-plugin-firebase). We don't directly reference any of the GoogleUtilities code. I won't claim to know much about ObjC or Swift, but that project doesn't seem to be referencing GULAppDelegateSwizzler.h, either.

Here's a snippet from our CI build log at the point of failure:

[10:32:17]: ▸ Compiling FIRAuthAppCredentialManager.m
 
[10:32:17]: ▸ ** ARCHIVE FAILED **
 
[10:32:17]: ▸ The following build commands failed:
 
[10:32:17]: ▸ 	CompileC /Users/distiller/Library/Developer/Xcode/DerivedData/ProjectName-buimefmfrowjfvdgbhxppdurahtf/Build/Intermediates.noindex/ArchiveIntermediates/ProjectName/IntermediateBuildFilesPath/Pods.build/Release-iphoneos/FirebaseAuth.build/Objects-normal/armv7/FIRAuth.o /Users/distiller/project/platforms/ios/Pods/FirebaseAuth/Firebase/Auth/Source/Auth/FIRAuth.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler
 
[10:32:17]: ▸ (1 failure)
 
[10:32:17]: ▸ Compiling FIRAuthAppCredential.m
 
[10:32:17]: ▸ Compiling FIRAuthAPNSTokenManager.m
 
[10:32:17]: ▸ Compiling FIRAuthAPNSToken.m
 
[10:32:17]: ▸ Compiling FIRAuth.m
 
[10:32:17]: ▸ ❌  /Users/distiller/project/platforms/ios/Pods/GoogleUtilities/GoogleUtilities/AppDelegateSwizzler/Private/GULAppDelegateSwizzler.h:19:9: 'GoogleUtilities/AppDelegateSwizzler/Private/GULApplication.h' file not found
 
[10:32:17]: ▸ #import "GoogleUtilities/AppDelegateSwizzler/Private/GULApplication.h"
 
[10:32:17]: ▸                  ~                       ^~~~~~~~~~~~~
 
[10:32:17]: ▸ Compiling FIRAdditionalUserInfo.m
 
[10:32:17]: ▸ Compiling FIRActionCodeSettings.m

@bhargavas12
Copy link
Author

@ryanwilson even ours is cordova project and we are using firebaseX which has the internal dependency to GoogleUtilities.

@JustinPierce
Copy link

JustinPierce commented Jul 15, 2020

@ryanwilson It looks like FirebaseX was patched this morning to resolve the issue. I believe the issue is that the plugin was asking for v6.27.0 of the Firebase libraries, but those libraries ask for the latest 6.x version of GoogleUtilities. It would appear that versions of FirebaseAuth before 6.28.0 will fail to build with GoogleUtilities@6.7.0. That matches up with my build failure above.

@paulb777
Copy link
Member

We're working to get a fix ASAP to this issue. A shareable repro case would be helpful to validate. We're able to successfully build samples with Firebase 6.27.x and GoogleUtilities 6.7.0.

In the meantime, adding the following to the Podfile is a reported workaround:

pod 'GoogleUtilities', '6.6.0'

Does rm -rf ~/Library/Developer/Xcode/DerivedData/ make any difference?

@JustinPierce
Copy link

Does rm -rf ~/Library/Developer/Xcode/DerivedData/ make any difference?

@paulb777 Can confirm that this did not help.

@ryanwilson
Copy link
Member

@alejobrainz I noticed in the other thread you said that the Facebook for Unity SDK had issues as well - can you point me to those? I couldn't find any usages of GoogleUtilities or GULAppDelegateSwizzler in their repo. Thanks!

@paulb777
Copy link
Member

We now have a repro case. Investigating a fix. Stay tuned.

@mikehardy
Copy link
Contributor

I understand you have a repro, just in case it comes up again you can always roll out a throwaway react-native-firebase "full demo" with https://github.com/mikehardy/rnfbdemo/blob/master/make-demo-v6.sh

@Salakar
Copy link
Member

Salakar commented Jul 15, 2020

@ryanwilson to add to the list, and if it's helpful; FlutterFire has also started failing to build with the same error, though we don't consume GULAppDelegateSwizzler directly like we do on React Native Firebase, the failure is coming from inside the Firebase Auth iOS SDK;

image

CI run with failure: https://github.com/FirebaseExtended/flutterfire/pull/2962/checks?check_run_id=873969590

@paulb777
Copy link
Member

pod update should now resolve this issue by updating to GoogleUtilities 6.7.1

Thanks for the reports, sorry about the breakage, and let us know if there are any issues with this fix.


🎉 Congrats

🚀 GoogleUtilities (6.7.1) successfully published
📅 July 15th, 09:27
🌎 https://cocoapods.org/pods/GoogleUtilities
👍 Tell your friends!

@paulb777 paulb777 self-assigned this Jul 15, 2020
@alejobrainz
Copy link

alejobrainz commented Jul 15, 2020

@alejobrainz I noticed in the other thread you said that the Firebase for Unity SDK had issues as well - can you point me to those? I couldn't find any usages of GoogleUtilities or GULAppDelegateSwizzler in their repo. Thanks!

@ryanwilson Here you go. We were using the Firebase SDK and hell broke loose yesterday. We had to manually add 6.6.0 in our pod file to work around it.

https://forum.unity.com/threads/ucb-firebase-package-paths-not-found.931566/

@firebase firebase locked and limited conversation to collaborators Aug 15, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests