Please can you provide Carthage dependencies or simply a path to download the macOS framework files that would allow us to manually install them to our macOS Xcode projects?
We have a business reason for not using Cocoapods and therefore are currently unable to use Firebase on macOS.
I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.
We don't currently have plans to add a macOS Carthage distribution. However, we do have Catalyst support in progress at #5080 which could be a model for building macOS artifacts and/or creating an additional PR.
Are you able to provide the libraries as a download, as you already do with iOS (https://firebase.google.com/download/ios)?
To provide a bit of further context here, while it's good that Catalyst support will be arriving in the future, right now we're at risk of losing access to crash reporting and analytics.
While I understand analytics for macOS won't be appearing anytime soon, by losing crash reporting also, we'll be forced to look into using an alternative solution to Fabric right now. If that were the case and we do indeed change to an alternative solution, it's unlikely that we'd switch back to Firebase.
A way to prevent such actions (I'd suppose not just from myself and my company) would be to provide us with the basic frameworks that allow us to still make use of the Firebase platform, albeit in a limited way (Crashlytics).
Thanks for the additional context. Based on how the Catalyst binary distro roll-out goes, we'll evaluate the feasibility of adding other platform slices.
In the meantime, a workaround would be building a macOS binary framework yourself via one of the CocoaPods binary distribution mechanisms.
I tried this earlier by generating an Xcode workspace for FirebaseCrashlytics (after cloning the firebase-sdk-ios repository) and moving the generated frameworks to my own Xcode project, but experienced errors:
dyld: Library not loaded: @rpath/FBLPromises.framework/Versions/A/FBLPromises
Referenced from: /Users/ashephard/Library/Developer/Xcode/DerivedData/myproduct-deetnrigsncezegzjgsguzfurpga/Build/Products/Debug/myproduct.app/Contents/MacOS/myproduct
Reason: image not found
If you have an idea of how to fix this, please let me know. Thanks.
Not sure, but it looks like something related to the Promises framework, one of the Crashlytics dependencies via FirebaseInstallations, not being linked properly.
Looks like Firebase Carthage documentation/setup may need to be updated to accommodate a new dependency on FBLPromises library.
@andyshephard In the meanwhile could please try to add FBLPromises dependency into your project manually as described here and let us know if it fixes your issue.
Hey @maksymmalyhin sorry for not replying sooner. I wasn't well during the past few days.
Anyway, I've tested out what you said (FBLPromises added manually) but I'm now experiencing an error with GoogleUtilities.framework, pretty much the same error as with FBLPromises.
dyld: Library not loaded: @rpath/GoogleUtilities.framework/Versions/A/GoogleUtilities
Referenced from: /Users/ashephard/Library/Developer/Xcode/DerivedData/Adblock_Plus_for_Safari-deetnrigsncezegzjgsguzfurpga/Build/Products/Debug/Adblock Plus.app/Contents/MacOS/Adblock Plus
Reason: image not found
The frameworks aren't embedded (as was suggested), and are being referenced correctly in the search paths (Frameworks & Framework headers).
So, to give you a step by step rundown of what I did to get this far in order to help:
pod gen FirebaseCrashlytics.podspec --auto-open --gen-directory="gen" --clean --use-modular-headers --platforms=macosOK, an update for you.
I've managed to get the app building and running successfully now by assigning 'Apple Developer' as a codesigning certificate to my targets and also setting Embed & Sign to the following 3 frameworks:
2020-03-17 18:33:46.809179+0100 Adblock Plus[56928:3446483] [Firebase/Crashlytics] Version 4.0.0-beta.5
2020-03-17 18:33:46.838539+0100 Adblock Plus[56928:3446951] 6.19.0 - [Firebase/Core][I-COR000028] tvOS and macOS SDK support is not part of the official Firebase product. Instead they are community supported. Details at https://github.com/firebase/firebase-ios-sdk/blob/master/README.md.
I'm testing crashes by disconnecting the debugger in Xcode (as suggested in one of the Firebase guides) and calling fatalError(). I'm still not seeing any crashes being logged on the Firebase platform, but I'll continue to test.
If you have any further feedback here, please let me know.
There was a backend bug previously that prevented crashes from non-iOS platforms from showing up correctly in Crashlytics console. This bug has since been resolved, so please check again if you're able to see macOS crashes. If you have an iOS app with a much higher volume of crashes in the same project, it may be difficult to see macOS crashes amidst the flood of iOS crashes--we're working on platform level filtering that will improve this.
Also, the Firebase zip distribution now contains xcframeworks with the appropriate Catalyst architecture slices, so you should no longer need to assemble your own. Please let us know if this is not sufficient for your needs.
Hey @andyshephard. 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!
Since there haven't been any recent updates here, I am going to close this issue.
@andyshephard 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.