Firebase: How to get User.uid?

Eccles picture Eccles · Jun 6, 2017 · Viewed 18.8k times · Source

I'm using Firebaseauth to manage users and data for my iOS app. The users can log in, and their userinfo is stored correct in the database. But when I try to get the users to write to the database in a different viewController, using this string:

self.ref.child("users").child(user.uid).setValue(["username": username])

The thrown error is

Type user has no member .uid

That makes sense I guess, since I haven't created the variable. But I can't figure out how to declare it?

Answer

Hossein Dehnokhalaji picture Hossein Dehnokhalaji · Jun 6, 2017

This is how you get the user's uid:

let userID = Auth.auth().currentUser!.uid

UPDATE: Since this answer is getting upvotes, make sure you prevent your app from crashing by using guards:

guard let userID = Auth.auth().currentUser?.uid else { return }