Kenny Lövrin February 2016

Firebase SDK (v2.5.0) in OSX framework

I'm trying to link to the Firebase SDK (v2.5.0) within my OS X framework, but it keeps telling me I am trying to link to a framework built for iOS.

It seems to state pretty clearly on the Firebase docs that the iOS framework can be used to build OS X clients as well, so does anyone know what I am doing wrong here?

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

Answers


dzk February 2016

You need to add some dependencies in your project's Build Phases:

libicucore.dylib

libc++.dylib

CFNetwork.framework

Security.framework

SystemConfiguration.framework

See the Apple docs on how to add these if you haven't done this before.


Kenny Lövrin February 2016

Ok, this is a bit weird.. But after digging around in the pod specs I noticed that the FirebaseOSX podspec links to a different url than the iOS pod (FirebaseOSX.framework and an older version).

So I decided to copy the framework url from the Firebase site, and change the name and try that, and it downloaded a OSX framework for me. This is really weird, because I can't for the life of me understand that I should do like that based on what I can read on the Firebase site, so I can't really consider this the official way as it doesn't really make any sense. But it seems to work for now..

So for v2.5.0 the url is:

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


Mike McDonald February 2016

As of 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. This is due to several changes in our build process, such as adding bitcode support (which only makes sense on iOS).

We still build and release iOS and OSX through these channels, and continue to support OSX, though it's not heavily advertised (as you noticed). As mentioned, if you don't use Cocoapods, using https://cdn.firebase.com/ObjC/FirebasePlatform.framework-major.minor.patch.zip will get you the framework, then follow the Alternative Setup instructions for including it in your project.

Post Status

Asked in February 2016
Viewed 2,091 times
Voted 6
Answered 3 times

Search




Leave an answer