Firebase cannot find 'module <Firebase>' - ios

I'm trying to reference my Firebase class but it's saying I can't find the module...This is strange because everything else in my Firebase is working like:
FIRAuth.auth()?.createUserWithEmail
is working no problem and signing in works too
but when I'm trying to do
let firebase = Firebase(url: "url.com")
I get my module not found problem...
I'm fairly certain I installed it correctly and I tried to follow the advice that people have posted on here already but I'm either doing it wrong or can't figure it out. This is what my build phases looks like.

If you want to use old firebase, use Firebase sdk 2.5.0.
If you are using cocoapods:
pod 'Firebase', '>= 2.5.0'
This will fix your problem and you wont need google service plist
This is just if you want to use the old one. Using new sdk will solve your problem as well.

Firebase has been updated to firebase 3 recently. In firebase 3, the information to your firebase url is provided in GoogleService-Info.plist. you just have to download it from your firebase console and put in your folders
more information can be found here https://firebase.google.com/docs/ios/setup#add_firebase_to_your_app

FireBase(url:) is depreciated.replace with the below code for swift 3
let dataBaseReference = FIRDatabase.database().reference().child("child name").child(subchildname)

Related

IOS app doesn't show up in Firebase Analytics

I build a firebase iOS app. It works with Firestore and it works fine but the problem is the app doesn't show up when I click on dashboard (under analytics in the Firebase console). I have reinstalled firebase (multible times) and I have checked if analytics was enabled and it was. Does anyone know what I need to check or something?
I followed the instructions from firebase when adding firebase to the IOS project (if this was installed correctly firestore wouldn't work). The only difference that I didn't use cocoapods but Swift package dependencies. I followeded this instructions: https://firebase.google.com/docs/ios/swift-package-manager. The reason that I didn't use cocoapods is that I just can't get accesses to the iOS project. It keeps giving me zsh: permission denied. I have tried everything from chmod 777 to using sudo. I gave the terminal full disk acces but I keep getting permission denied. Anyway that's why I use swift package manager. I use the following dependencies:
FirebaseAnalytics
FirebaseFirestore
FirebaseCrashlytics
Everything works fine apart from getting user data on the dashboard. Does anyone know what this problem could be? I don't know what code to give. I do use FirebaseApp.configure() in AppDelegate (otherwise Firestore wouldn't) work. But I do get this error in the logs:
app[74317:4168079] [] nw_protocol_get_quic_image_block_invoke dlopen libquic failed
Because of confusion in the comment section this edit.
Firebase gives you automatically all kinds of information on the analytics page about your app. When enabled the only thing you need to do (according to the docs) is call FirebaseApp.configure() in AppDelegate. I have done this and it works because otherwise Firestore would not work. But the IOS app doesn't show up on the analytics page. I have reinstalled Firebase 6 times on my IOS app and still nothing. Does anyone know what could possible go wrong? Because this should all work automatically so I don't know what code to post.
I forgot to add -ObjC to my build settings. That fixed my problem.
Link: https://firebase.google.com/docs/ios/swift-package-manager#analytics

Duplicate symbols when trying to add Google Sign In to iOS Firebase project

I'm trying to learn how to use Firebase in a new project I'm building. I added the FirebaseCore, FirebaseDatabase, Firebase and GoogleToolboxForMac to my project as per Google's instructions. (Manually as I'm no fan of Cocoapods).
All went fine and I tried to add a record to the database like this:
FIRApp.configure()
let dbRef = FIRDatabase.database().reference()
dbRef.child("users/ABCDEF/username").setValue("drekka")
But got told
2017-07-02 20:15:18.409 Crux[19593] <Warning>
[Firebase/Database][I-RDB03812] setValue: or removeValue: at /users/ABCDEF/username failed: permission_denied
Did some reading and figured I need to provide some sort of credentials or login. Thought I'd try to implement a Google login as Firebase supports it. The docu there said to add Google Sign In. Which I did by adding the GoogleAppUtilities, GoogleSingIn, GoogleSignInDependencies and GoogleSymbolUtilities libraries.
However I got comflicts between GoogleSignInDependencies and GoogleToolboxForMac. So I took out GoogleToolboxForMac and got told there was missing symbols. So I tried taking out GoogleSignInDependencies and got told the same thing.
So I figure I've either something but I don't know what. Any suggestions?
Remove GoogleAppUtilities and GoogleSymbolUtilities.
If you're still having conflicts, post the output of pod update with your question.
BTW, you shouldn't need GoogleSignIn to make the database work. Likely there is a configuration problem on the Firebase console. Make sure the permissions are configured correctly.

Firebase Configuration issue

I am working on project which use Firebase.
I have added all Pod files in my project. I have also added Flags but it shows me error. I have also link all libraries of Firebase Podfile. I followed all instruction provided by Google Firebase Doc but it is not solving my error. Please help me into this.
I have Solved it successfully.
As per in my question Add framework related too firebase
Add this Linker flags too for firebase configuration

Could not configure Firebase InstanceID

hi I'm trying to include firebase in my app and followed the documentation, when I'm trying to do google sign in, Could not configure Firebase InstanceID error occurs .please advice how to overcome this error
There are two things to check (and hopefully, one will fix it for you):
Make sure your BundleIdentifier is exactly the same in your Firebase project as it is in your Xcode, i.e. com.[yourcompany].[yourappname]
Make sure you got the latest GoogleService-Info.plist file. Go to Firebase Console -> Settings -> Your Application - there will be a blue button to the right that lets you download new configuration file
That solved it for me.
Bug Details
As of version 3.13.0, there appears to be a bug in the Firebase/Core SDK.
I added a symbolic breakpoint at -[FIRInstanceID(FIRApp) configureInstanceIDWithOptions:app:] and stepped though the assembly.
It appears that FIRApp.configure() is ignoring the IS_GCM_ENABLED flag in the GoogleServices-Info.plist and tries to configure GCM regardless of the flag's state. In my case, because my project does not use GCM, the app would crash because there was no GCM_SENDER_ID in the plist.
Workaround
Add a dummy value (i.e. 123456789012) for GCM_SENDER_ID within the GoogleService-Info.plist file. This will allow the application to configure successfully.
You have to add your project which is created on
https://developers.google.com/mobile/add?platform=ios or fire base console into your Firebase dashboard.
Now you can download GoogleService-Info.plist from Firebase and import into your project.
I setup Firebase in code using FIROptions. In my case, I was missing gcmSenderID, fixing it then it works
Firebase DevRel here. This should be an error, unless you enabled gcm, you shouldn't go through instanceid setup. Filed internally.
For now, the workaround is manually changing "IS_GCM_ENABLED" to "NO" in your "GoogleService-Info.plist" file
I was getting this error as I didn't have my GoogleService-Info.plist in my Test folder as well. ( if you are using TDD)
As of the latest Firebase Core 3.16.0 - I seem to need to include it in my main project as well as copying a version into my Test Root.
This also happens when you shift your google SDK integration from one account to another and don't edit the API keys on application side.Make sure when you shift from one google account to another, you re-visit all the SDK guides again like FCM, Google Sign-in etc and make sure you are using new API keys (client_id, URI Scheme) in application.

Error setting up Firebase in Xcode

I have tried to set up Firebase to work on Xcode using both the quick setup instructions and the manual alternate instructions on Firebase website.
When I used CocoaPods and followed the instructions on the quick setup page, I was able to import Firebase, but I was not able to reference Firebase inside the class. I got the error: Cannot call value of non-function type 'module' xcode
When I tried to set it up manually, I was not able to import or reference Fire base and I got the error: No such module 'Firebase'
I had the same issue when updating my project to the new version of Firebase. A TON of changes were announced at Google I/O and thus there is a good amount of updating to be done.
It sounds like you might be using the old version of Firebase with the new SDK. You should do everything with Firebase 3.0. Hence var rootRef = Firebase(url:"https://<YOUR-FIREBASE-APP>.firebaseio.com") will now be var rootRef = FIRDatabase.database().reference().
Take a look at the setup guide at: https://firebase.google.com/docs/ios/setup#prerequisites (be sure you aren't looking at the legacy docs!). If you want to convert code from the old version of Firebase to 3.0, check out the Upgrading tutorial: https://firebase.google.com/support/guides/firebase-ios#get_a_database_reference_numbered
You should try to manually edit your podfile to something like:
use_frameworks!
pod 'Firebase/Core'
pod 'Firebase/Database'
pod 'Firebase/Auth'
I use these directives to get it working with Xcode 7.3.

Resources