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

Swift 5.9 Support for xcframeworks #12388

Closed
ryang1428 opened this issue Feb 13, 2024 · 4 comments
Closed

Swift 5.9 Support for xcframeworks #12388

ryang1428 opened this issue Feb 13, 2024 · 4 comments
Labels
zip Issues related to binary distribution (zip file)

Comments

@ryang1428
Copy link

Description

Hi I am following up on an issue that was closed last month:
#11947

We currently add the Firebase frameworks manually as xcframeworks-- mainly to avoid costly build times going the SPM route.

We have been unable to update past 10.16.0 because of compile issues on Xcode 15+ with the current xcframeworks available.

Failed to build module 'FirebaseRemoteConfig'; this SDK is not supported by the compiler (the SDK is built with 'Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 clang-1400.0.29.51)', while this compiler is 'Apple Swift version 5.9 (swiftlang-5.9.0.128.108 clang-1500.0.40.1)'). Please select a toolchain which matches the SDK.

According to the attached issue, the xcframeworks need to get build with Xcode 15 and the last comment on timing was:

I do not have an ETA at this time. It will likely be after Apple starts requiring Xcode 15 for App Store submissions (likely sometime this Spring).

Are there any updates on this? We also found today that we need to update to least v10.17.0 to get support for EEA consent signals.

Thanks!

Reproducing the issue

We are installing the following xcframeworks into an Xcode 15 application:

  • FirebaseAnalytics
  • FirebaseAuth
  • FirebaseCrashlytics
  • FirebaseMessaging
  • FirebaseRemoteConfig

Firebase SDK Version

10.17.0 and above

Xcode Version

15.2.0

Installation Method

Zip

Firebase Product(s)

Analytics, Authentication, Crashlytics, Messaging, Remote Config

Targeted Platforms

iOS

Relevant Log Output

Failed to build module 'FirebaseRemoteConfig'; this SDK is not supported by the compiler (the SDK is built with 'Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 clang-1400.0.29.51)', while this compiler is 'Apple Swift version 5.9 (swiftlang-5.9.0.128.108 clang-1500.0.40.1)'). Please select a toolchain which matches the SDK.

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

Expand Package.resolved snippet
Replace this line with the contents of your Package.resolved.

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet
Replace this line with the contents of your Podfile.lock!
@google-oss-bot
Copy link

I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.

@paulb777
Copy link
Member

As discussed in #11947, we haven't been able to reproduce this issue. A reproduction will be necessary for us to make progress before the App Store drops Xcode 14 support in April.

@paulb777 paulb777 added zip Issues related to binary distribution (zip file) and removed needs-triage labels Feb 14, 2024
@paulb777 paulb777 added this to the Firebase 11 milestone Feb 14, 2024
@ryang1428
Copy link
Author

@paulb777 a couple updates here

We were able to make a simple sample project that emulates how we were pulling in the xcframeworks which shows the RemoteConfig issue, I attached that project:
FirebaseIssue-12388.zip

That being said, we were able to work around it by linking the actual libraries in our Project settings, not the xcframeworks.

Old setup which results in the RemoteConfig compile issues:
Screenshot 2024-02-14 at 9 57 09 AM

New setup which allows us to compile:
Screenshot 2024-02-14 at 9 54 05 AM

While we can now compile w/ the latest SDK version, our other question is linking the library like so does not give the option for signing, and will that be an issue come April.

@paulb777
Copy link
Member

thanks for sharing.

Looking at the repro case, the problem may be related to adding a SwiftPM dependency package with a new FirebaseRemoteConfig module. Binary integration should work following the instructions provided in the README file at the root of the zip download.

And it looks like you've found another workaround.

See #12238 for the progress on signing

@firebase firebase locked and limited conversation to collaborators Mar 16, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
zip Issues related to binary distribution (zip file)
3 participants