我试图在我的OS X框架内链接到Firebase SDK(v2.5.0),但它一直告诉我我正在尝试链接到为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
答案 0 :(得分:4)
从2.4.0(changelog)开始,Firebase不再为iOS和OSX提供单个二进制文件,而是有多个框架(适用于iOS的Firebase.framework,适用于OSX的FirebaseOSX.framework)。同样,iOS Cocoapod名为Firebase,而OSX Cocoapod名为FirebaseOSX。这是由于我们的构建过程中的一些变化,例如添加bitcode支持(这在iOS上才有意义)。
我们仍然通过这些渠道构建和发布iOS和OSX,并继续支持OSX,尽管它没有大量宣传(正如您所注意到的)。如上所述,如果您不使用Cocoapods,使用https://cdn.firebase.com/ObjC/FirebasePlatform.framework-major.minor.patch.zip将为您提供框架,然后按照Alternative Setup instructions将其包含在您的项目中。
答案 1 :(得分:1)
您需要在项目的Build Phases
中添加一些依赖项:
libicucore.dylib
的libc ++。dylib
CFNetwork.framework
Security.framework
SystemConfiguration.framework
如果您之前没有这样做,请参阅Apple docs如何添加这些内容。
答案 2 :(得分:1)
好的,这有点奇怪..但是在挖掘pod规格之后我注意到FirebaseOSX podspec链接到与iOS pod不同的URL(FirebaseOSX.framework和旧版本)。
所以我决定从Firebase站点复制框架URL,并更改名称并尝试,并为我下载了一个OSX框架。这真的很奇怪,因为我不能为我的生活理解我应该根据我在Firebase网站上可以阅读的内容这样做,所以我不能真正考虑这是官方的方式因为它不是真的有道理。但它似乎现在有用..
因此,对于v2.5.0,网址是:
https://cdn.firebase.com/ObjC/FirebaseOSX.framework-2.5.0.zip