Skip to content

Instantly share code, notes, and snippets.

@clarle
Created August 7, 2016 17:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save clarle/2df9bc67a3ef79b29c30d4115cd3bbcf to your computer and use it in GitHub Desktop.
Save clarle/2df9bc67a3ef79b29c30d4115cd3bbcf to your computer and use it in GitHub Desktop.
Sign up a user with a unique username in Firebase
- (void)signUpUser:(NSString *)username password:(NSString *)password email:(NSString *)email completion:(void (^)(FIRUser *user, NSError *error))completion {
[[FIRAuth auth]
createUserWithEmail:email
password:password
completion:^(FIRUser *user, NSError *error) {
FIRDatabaseReference *ref = [[FIRDatabase database] reference];
FIRDatabaseReference *userRef = [[ref child:@"users"] child:username];
[userRef observeSingleEventOfType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot *snapshot) {
if (snapshot && snapshot.value[@"uid"] == nil) {
[userRef setValue:user.uid forKey:@"uid"];
}
}
withCancelBlock:^(NSError * _Nonnull error) {
NSLog(@"%@", error.localizedDescription);
}];
}];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment