OSX 框架中的 Firebase SDK (v2.5.0)

Firebase SDK (v2.5.0) in OSX framework

我正在尝试 link 我的 OS X 框架内的 Firebase SDK (v2.5.0),但它一直告诉我我正在尝试 link为 iOS.

构建的框架

Firebase 文档上似乎很清楚地说明 iOS 框架也可用于构建 OS X 客户端,所以有人知道我在这里做错了什么吗?

ld: in /[...]/Firebase.framework/Firebase(Firebase.o), building for OSX, but linking in object file built for iOS, for architecture x86_64

您需要在项目的 Build Phases:

添加一些依赖

libicucore.dylib

libc++.dylib

CFNetwork.framework

Security.framework

SystemConfiguration.framework

如果您以前没有这样做,请参阅 Apple docs 了解如何添加这些内容。

好吧,这有点奇怪。但是在深入了解 pod 规范后,我注意到 FirebaseOSX podspec 链接到与 iOS pod 不同的 url (FirebaseOSX.framework 和旧版本)。

所以我决定从 Firebase 站点复制框架 url,并更改名称并尝试,它为我下载了一个 OSX 框架。这真的很奇怪,因为根据我在 Firebase 网站上可以阅读的内容,我一辈子都无法理解我应该这样做,所以我不能真正认为这是官方方式,因为它不是有任何意义。但它现在似乎有效..

所以对于 v2.5.0,url 是:

https://cdn.firebase.com/ObjC/FirebaseOSX.framework-2.5.0.zip

从 2.4.0 开始(changelog), Firebase no longer ships a single binary for iOS and OSX, but instead has multiple frameworks (Firebase.framework for iOS, FirebaseOSX.framework for OSX). Similarly, the iOS Cocoapod is named Firebase, while the OSX Cocoapod is named FirebaseOSX。这是由于我们构建过程中的一些更改,例如添加位码支持(仅在 iOS 上有意义)。

我们仍然通过这些渠道构建和发布 iOS 和 OSX,并继续支持 OSX,尽管它没有大量宣传(如您所见)。如前所述,如果您不使用 Cocoapods,请使用 https://cdn.firebase.com/ObjC/FirebasePlatform.framework-major.minor.patch.zip will get you the framework, then follow the Alternative Setup instructions 将其包含在您的项目中。