firebase / firebase-ios-sdk

Firebase SDK for Apple App Development
https://firebase.google.com
Apache License 2.0
5.55k stars 1.45k forks source link

FR: Support for Swift Package Manager #3136

Closed WarSunsOfPeace closed 4 years ago

WarSunsOfPeace commented 5 years ago

With iOS support for Swift Package Manager in Xcode 11 can we please get that added to this project.

ramzesku commented 4 years ago

I try connect firebase use swift package manager. 1) Enter: https://github.com/firebase/FirebaseUI-iOS 2) Enter branch: pb-spm

Screenshot 2020-08-19 at 19 54 42

3) Click next button.

I see error: Showing All Messages : package at 'https://github.com/firebase/FirebaseUI-iOS' @ 25f6725045da8f0057748af48cfa5c55651feebb is using Swift tools version 5.3.0 but the installed version is 5.2.0

What am I doing wrong?

Mac OS: 10.15.6 Xcode: 11.6

paulb777 commented 4 years ago

@ramzesku The referenced Firebase UI branch is a prototype of a small part of the API. It is not ready for use. Please follow https://github.com/firebase/FirebaseUI-iOS/issues/886 for FirebaseUI.

paulb777 commented 4 years ago

Also Xcode 12 is required to use SPM with the master branch of https://github.com/firebase/firebase-ios-sdk.git. At least beta 4 is required for FirebaseAnalytics. At least beta 5 is required for SwiftUI preview support.

khuffie commented 4 years ago

I'm on Xcode 12 beta 5. I tried installing Firebase via SPM using the master branch and get the following error. I have Firebase, FirebaseAnalytics and FirebaseCrashlytics selected. Am I missing something in the setup process?

(Also, is Firebase Performance Monitoring available via SPM?)

Details

This app could not be installed at this time.
Domain: IXUserPresentableErrorDomain
Code: 1
Failure Reason: Could not install at this time.
Recovery Suggestion: Failed to load Info.plist from bundle at path /Users/khuffie/Library/Developer/CoreSimulator/Devices/51AC233A-4600-47F4-919D-E5640337061E/data/Library/Caches/com.apple.mobile.installd.staging/temp.NwfOQl/extracted/Widget Wizard.app/Frameworks/GoogleAppMeasurement.framework; Extra info about Info.plist: Couldn't stat /Users/khuffie/Library/Developer/CoreSimulator/Devices/51AC233A-4600-47F4-919D-E5640337061E/data/Library/Caches/com.apple.mobile.installd.staging/temp.NwfOQl/extracted/Widget Wizard.app/Frameworks/GoogleAppMeasurement.framework/Info.plist: No such file or directory
--
Failed to load Info.plist from bundle at path /Users/khuffie/Library/Developer/CoreSimulator/Devices/51AC233A-4600-47F4-919D-E5640337061E/data/Library/Caches/com.apple.mobile.installd.staging/temp.NwfOQl/extracted/Widget Wizard.app/Frameworks/GoogleAppMeasurement.framework; Extra info about Info.plist: Couldn't stat /Users/khuffie/Library/Developer/CoreSimulator/Devices/51AC233A-4600-47F4-919D-E5640337061E/data/Library/Caches/com.apple.mobile.installd.staging/temp.NwfOQl/extracted/Widget Wizard.app/Frameworks/GoogleAppMeasurement.framework/Info.plist: No such file or directory
Domain: MIInstallerErrorDomain
Code: 35
User Info: {
    FunctionName = "-[MIBundle _validateWithError:]";
    LegacyErrorString = PackageInspectionFailed;
    SourceFileLine = 131;
}
--

System Information

macOS Version 11.0 (Build 20A5343i)
Xcode 12.0 (17210.1)
LualdiD commented 4 years ago

Is it possible to disable Firebase SPM when running a Catalyst app? From the target, I set the platform for Firebase and FirebaseAnalytics to only iOS I get these 3 errors:

` Showing All Messages While building for Mac Catalyst, no library for this platform was found in '/Users/dylanlualdi/Library/Developer/Xcode/DerivedData/AppName-gagejbizaaploadvmidwqbbcikwt/SourcePackages/artifacts/Firebase/FirebaseAnalytics.xcframework'.

While building for Mac Catalyst, no library for this platform was found in '/Users/dylanlualdi/Library/Developer/Xcode/DerivedData/AppName-gagejbizaaploadvmidwqbbcikwt/SourcePackages/artifacts/Firebase/FIRAnalyticsConnector.xcframework'.

While building for Mac Catalyst, no library for this platform was found in '/Users/dylanlualdi/Library/Developer/Xcode/DerivedData/AppName-gagejbizaaploadvmidwqbbcikwt/SourcePackages/artifacts/Firebase/GoogleAppMeasurement.xcframework'.

`

Screenshot 2020-08-23 at 13 42 34
paulb777 commented 4 years ago

@khuffie I'm not sure what's happening. It looks like somehow your app is trying to link GoogleAppMeasurement.framework dynamically instead of statically. Are you able to reproduce with https://github.com/firebase/quickstart-ios/tree/master/analytics?

Firebase Performance is not yet available via SPM.

@LualdiD With a quick investigation, I don't see an immediate way to disable Catalyst building for Firebase Analytics. There might be a way to temporarily adjust a Build Setting like the CocoaPods workaround, but that wouldn't be very stable. I'll follow up with the Analytics team to see if we can eliminate the sign up requirement so that we could include the Analytics Catalyst Early Access with SPM.

All, I'll reiterate the request to open a new issue for specific issues/questions like these ones. Thanks!

paulb777 commented 4 years ago

We're starting a Swift Package Manager beta for Firebase. To use it select the Firebase GitHub repository - https://github.com/firebase/firebase-ios-sdk.git and 6.31-spm-beta.

Limitations include:

See more detailed instructions here.

I'm going to lock this issue for only future status updates.

Please create a new GitHub Issue(https://github.com/firebase/firebase-ios-sdk/issues/new?template=bug_report.md) for any questions, comments or issues about Firebase and Swift Package Manager (including for the limitations listed above).

See current open Swift Package Manager issues here.

paulb777 commented 3 years ago

With the Firebase 7.0.0 release, we now support standard Swift Package Manager versioning. The beta status continues while we get the last few Firebase products supported and the Xcode Swift Package Manager implementation stabilizes.

Getting started instructions at https://github.com/firebase/firebase-ios-sdk/blob/master/SwiftPackageManager.md

Please open an issue with any questions or bugs.