Importing Firebase Framework manually in Xcode 8 (Swift 3) - ios

I'm trying to import Firebase Storage into my Xcode project. I followed this guide.
I only imported the actual .framework file from the downloadable client library, along with all the other required frameworks and files, listed in the link above (the two .dylib files either do not exist anymore or have been renamed to something else, so the documentation is definitely outdated).
I'm guessing this isn't sufficient to get the Framework running in my Xcode project, as I did get an error that Firebase wasn't a recognized module. If it's all the other files (a few .h files, .module file and a info.plist file) I need to import as well, I was wondering how to do this in a Swift-written project?
Also, do I need all the files, or just some of them? The instructions in the documentation are very useless (probably because they're outdated), so I'm hoping someone with experience importing the framework into Xcode 8 (Swift 3) can give me some instructions. The documentation makes the importing process sound so easy, but I'm pretty sure it's a little more complex than that.

That guide is for our old client library (the deprecation warning at the top of the page confirms your suspicion that the docs are out of date :).
Instead, you'll want to use: https://firebase.google.com/docs/ios/setup#frameworks
You'll need FirebaseAnalytics.framework (to get FIRApp) as well as FirebaseDatabase.framework and Firebase.h. I believe we've got modulemaps properly working there, so you shouldn't have to mess with linker flags or other libs, as the modulemaps will include them properly.

Related

Objective-C framework documentation comments not shown after export

I'm building a macOS / iOS framework in Objective-C. Most methods have a JavaDoc like documentation which is displayed in the Quick Help section in Xcode properly. However, after I build the framework and want to use it in a different project, the documentation does not show up in the Quick Help section anymore. I know that I could move the documentation from the source file to the header file and that would fix my problem. But, is there any way to keep my documentation in the source file and somehow export it to the header file at build phase? (or anything similar)

Trouble with an .h import

As a beginner in ObjectiveC I need some help.
I'm working on a phonegap plugin for IOS (so, written with objective C). I use some open source code but I got an error with an .h import.
My architecture look like:
myFmk.framework/
myFmk.framework/ABCDE/myFmk.h <== in a sub folder
myFmk.framework/myFmk <=== this is a file
myPlugin.h
myPlugin.m
In myPlugin.h I have #import and in "myFmk.framework/myFmk" file I have only one line "ABCDE/".
I thought that this file do a redirection of the absolute import (with brackets) but my complier told me that "myFmk/myFmk.h" is not found.
I tried to find some documentation about this feature but I wasn't able to find its name... do you have this documentation or the feature name?
Thks.
Is the framework added using a cocoapod? If not, did you follow the instructions properly for adding it to your project? It would probably help if you posted the framework you are experiencing problems with.
If this is a framework that is added to your project properly and you are unable to import there are a few things you should check. First, go to your project settings (click on the project at the very top of your file tree in the left column) and then look for "linked libraries". See if the library is listed there. If not click the + and try to add it.
If this framework was added via cocoapods another thing to check is search your file structure for libPods.a. If it is red, I find sometimes it is helpful to delete it, close the project and run pod install again.
Also if you installed the project via cocoapods remember to open the workspace and not the old xcode project file.
I have also experienced this problem when my header search paths and other linker flag paths were wrong. Linker Flags should be $inherited if this is a cocoapod. In my projects most Header search paths are $inherited too.
If none of this is helpful please provide more information such as how this framework was added to your project and what the framework is. Also let us know if you get any error messages.

DBRestClient.h not found for CDEDropboxCloudFileSystem (ensembles framework)

I'm trying to implement Dropbox syncing to my iOS app using the ensembles framework. I'm not using pods, so I manually added the ensembles iOS and DropboxSDK Xcode projects to the frameworks section of my project, and made sure all the buildphases etc are taken care of (following the instructions on the ensembles github page). No problems so far, everything builds fine. But when I then add CDEDropboxCloudFileSystem to my project (see here), I get an error saying that DBRestClient.h cannot be found. I fixed it by replacing #import DBRestClient.h with #import <DropboxSDK/DropboxSDKh.h> in CDEDropboxCloudFileSystem.h and commenting out the two DropboxSDK related imports in CDEDropboxCloudFileSystem.m
Builds fine now, but is this the correct solution, or did I miss something with my setup?
(I tried adding the ensembles tag to this question, but I need a reputation of at least 1500 to do so)
If it builds, your solution is probably fine.
I guess whether you can import the framework header or not depends on how you are linking. Sounds like you are somehow linking a Dropbox framework on iOS. Is that right?
That might be a new option Dropbox have added for iOS 8. Previously, on iOS, you basically linked with a static library, and then you don't have the option.
Another way around the issue may be to add the path to the Dropbox headers folder to your header search path.
PS I also don't have the points to add an 'ensembles' tag :(

iOS XCode Apple LLVM 5.1 Error Too Many Errors Semantic Issues

First of all, my project builds fine initially.
Then I integrate VideoStream SDK for iOS into a standalone app, and it works.
Then I integrate VideoStream SDK into my actual project, and set up search paths for header files for the library, but then my project gets these issues:
I'd have a look if one of your source header files has the same name as a standard C++ or C header file. Quite possibly this prevents inclusion of the standard header file that defines struct tm. Look if there is a file "time.h" or "locale.h" or something like that has become part of your project.
I have not seen this solution posted ANYWHERE after so much time googling since the time I posted, but I disabled Always Search User Paths under Search Paths of Build Settings, and the project built.

FMDatabase.h not found when using route-me library

So im trying to use the route-me widget in my app, but xcode keeps complaining that it cant find FMDatabase.h, yet its included in the project (albeit under a different project that is included into my project). I've copied how a sample app has been made yet the sample project doesnt get this error. The RMDBMapSource.h file is contained within the MapView project, so i shouldn't need to include the fmdb stuff myself (and because the sample project doesn't do that)
Surely if the files are under compile sources / copy headers under build phases, that means it should be able to find the file? This is a pretty lackluster explanation of my problem, but if anyone has used the route-me library before maybe they have had the same problem and can point me in the right direction
Resolved my own mistake. First off in the build settings of the main project, the 'search for header paths' was not set correctly, it was set to /MapView/ instead of /MapView/** that resolved the FMDatabase.h missing error.
Then in case someone else had a linker error like i did after i resolved the first issue, make sure you have libMapView.a included in your link binary with libraries section. (i had it their before, but during a version control commit, somehow our project file decided to not add that library anymore and i had totally forgotten about it, so took me quite a while to find out that it was missing)

Resources