Describe the bug
(please see below for context)
Adding a prebuilt binary of GoogleSignIn 7.1.0 as a binaryTarget to a Swift package leads to the build error "Module 'GTMSessionFetcherCore' not found".
To Reproduce
Steps to reproduce the behavior:
0. see attached example package, or alternatively use the following steps: GoogleSignInProxy.zip
- Create a new Swift package, named "GoogleSignInProxy", type "library"
- remove all but one target named "GoogleSignInProxy" and one product named "GoogleSignInProxy"
- configure the supported platforms to some current iOS version that is supported by GoogleSignIn
- Download the Firebase 11.1.0 release binaries from here: https://github.com/firebase/firebase-ios-sdk/releases/tag/11.1.0
- Add the following frameworks to the root folder of the package: Firebase/GoogleSignIn/GoogleSignIn.xcframework, AppAuth.xcframework, GTMAppAuth.xcframework, GTMSessionFetcher.xcframework
- add the required binaryTarget() definitions and make the original target require all binaryTargets.
- in the template source file, replace everything with a single "import GoogleSignIn"
Expected behavior
The package builds without errors.
Environment
- Device: MacBook Pro, building for iOS Simulator
- OS: MacOS Sonoma 14.5 building for iOS Simulator 17.4
- Xcode 15.3
Additional context
I understand this bug might be fixed in the 8.0.0 release, but still wanted to file an easy reproduction, for documentation purposes. Feel free to just close this.
We're currently evaluating if and how we can speed up our builds and package resolution times, hence the experiments with prebuilt binaries. We use a lot of local packages, and therefore manage external dependencies in "proxy" packages, so they can be referenced anywhere, but only need to be configured once.
As far as I can tell, the only official way to get GoogleSignIn binaries is via Firebase?
At this point, Firebase 11.1.0 is the latest release, and it still only contains a binary for GoogleSignIn 7.1.0.
After reading up on some other discussions, I was able to "fix" the build error by removing the "_CodeSignature" folder from GoogleSignIn.xcframework, and removing the GTMSessionFetcherCore import in GIDGoogleUser.h, which is guarded by the SWIFT_PACKAGE test. This is obviously not my favorite solution, but at least led to a successful
proof-of-concept build.
Obviously, I don't know the internal processes at Google, but is there a way you can provide more current binaries, either through the GoogleSignIn-iOS Github project or the Firebase releases?
Thanks for your effort, it is very much appreciated.
Describe the bug
(please see below for context)
Adding a prebuilt binary of GoogleSignIn 7.1.0 as a binaryTarget to a Swift package leads to the build error "Module 'GTMSessionFetcherCore' not found".
To Reproduce
Steps to reproduce the behavior:
0. see attached example package, or alternatively use the following steps: GoogleSignInProxy.zip
Expected behavior
The package builds without errors.
Environment
Additional context
I understand this bug might be fixed in the 8.0.0 release, but still wanted to file an easy reproduction, for documentation purposes. Feel free to just close this.
We're currently evaluating if and how we can speed up our builds and package resolution times, hence the experiments with prebuilt binaries. We use a lot of local packages, and therefore manage external dependencies in "proxy" packages, so they can be referenced anywhere, but only need to be configured once.
As far as I can tell, the only official way to get GoogleSignIn binaries is via Firebase?
At this point, Firebase 11.1.0 is the latest release, and it still only contains a binary for GoogleSignIn 7.1.0.
After reading up on some other discussions, I was able to "fix" the build error by removing the "_CodeSignature" folder from GoogleSignIn.xcframework, and removing the GTMSessionFetcherCore import in GIDGoogleUser.h, which is guarded by the SWIFT_PACKAGE test. This is obviously not my favorite solution, but at least led to a successful
proof-of-concept build.
Obviously, I don't know the internal processes at Google, but is there a way you can provide more current binaries, either through the GoogleSignIn-iOS Github project or the Firebase releases?
Thanks for your effort, it is very much appreciated.