Skip to content

Commit 1262e17

Browse files
authored
More Firebase 11 updates (#1193)
1 parent d599b6c commit 1262e17

File tree

47 files changed

+915
-540
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+915
-540
lines changed

FirebaseAnonymousAuthUI.podspec

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = 'FirebaseAnonymousAuthUI'
3-
s.version = '14.1.0'
3+
s.version = '14.2.0'
44
s.summary = 'Provides anonymous auth support for FirebaseAuthUI.'
55
s.homepage = 'https://github.com/firebase/FirebaseUI-iOS'
66
s.license = { :type => 'Apache 2.0', :file => 'LICENSE' }

FirebaseAnonymousAuthUI/FirebaseAnonymousAuthUITests/FirebaseAnonymousAuthUITests.m

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
#import <OCMock/OCMock.h>
1818
#import <XCTest/XCTest.h>
1919

20-
#import <FirebaseAuth/FirebaseAuth.h>
20+
@import FirebaseAuth;
2121
#import <FirebaseAuthUI/FirebaseAuthUI.h>
2222

2323
#import "FUIAnonymousAuth.h"

FirebaseAnonymousAuthUI/Sources/FUIAnonymousAuth.m

+2
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
// limitations under the License.
1515
//
1616

17+
@import FirebaseAuth;
18+
1719
#import <FirebaseAuthUI/FirebaseAuthUI.h>
1820

1921
#import "FirebaseAnonymousAuthUI/Sources/Public/FirebaseAnonymousAuthUI/FUIAnonymousAuth.h"

FirebaseAuthUI.podspec

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = 'FirebaseAuthUI'
3-
s.version = '14.1.0'
3+
s.version = '14.2.0'
44
s.summary = 'A prebuilt authentication UI flow for Firebase Auth.'
55
s.homepage = 'https://github.com/firebase/FirebaseUI-iOS'
66
s.license = { :type => 'Apache 2.0', :file => 'LICENSE' }

FirebaseAuthUI/Sources/FUIAccountSettingsOperation.m

+1-1
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ - (void)showVerifyDialogWithMessage:(NSString *)message
230230
alertMessage:message
231231
alertCloseButton:FUILocalizedString(kStr_Cancel)
232232
providerHandler:^(id<FIRUserInfo> provider) {
233-
if (![provider.providerID isEqualToString:FIREmailAuthProviderID]) {
233+
if (![provider.providerID isEqualToString:@"email"]) {
234234
[self reauthenticateWithProvider:provider.providerID actionHandler:handler];
235235
} else {
236236
[self showVerifyPasswordViewWithMessage:message providerHandler:handler];

FirebaseAuthUI/Sources/FUIAccountSettingsOperationDeleteAccount.m

+2-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ - (void)showDeleteAccountDialog {
4343
alertMessage:FUILocalizedString(kStr_DeleteAccountBody)
4444
alertCloseButton:FUILocalizedString(kStr_Cancel)
4545
providerHandler:^(id<FIRUserInfo> provider) {
46-
if (![provider.providerID isEqualToString:FIREmailAuthProviderID]) {
46+
// TODO: Use public API after Firebase 11 minimum.
47+
if (![provider.providerID isEqualToString:@"email"]) {
4748
[self reauthenticateWithProvider:provider.providerID actionHandler:^{
4849
[self showDeleteAccountView];
4950
}];

FirebaseAuthUI/Sources/FUIAccountSettingsViewController.m

+5-5
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,11 @@ - (FUIASAccountState)accountState {
7979

8080
for (id<FIRUserInfo> userInfo in providers) {
8181
if (userInfo.email.length > 0 &&
82-
![userInfo.providerID isEqualToString:FIREmailAuthProviderID]) {
82+
![userInfo.providerID isEqualToString:@"email"]) {
8383
hasEmailInLinkedProvider = YES;
8484
}
8585

86-
if ([userInfo.providerID isEqualToString:FIREmailAuthProviderID]) {
86+
if ([userInfo.providerID isEqualToString:@"email"]) {
8787
hasPasswordProvider = YES;
8888
}
8989
}
@@ -225,7 +225,7 @@ - (void)updateTableStateLinkedAccountWithoutEmail {
225225
NSMutableArray *linkedAccounts =
226226
[[NSMutableArray alloc] initWithCapacity:self.auth.currentUser.providerData.count];
227227
for (id<FIRUserInfo> userInfo in self.auth.currentUser.providerData) {
228-
if ([userInfo.providerID isEqualToString:FIREmailAuthProviderID]) {
228+
if ([userInfo.providerID isEqualToString:@"email"]) {
229229
continue;
230230
}
231231
FUIStaticContentTableViewCell *cell =
@@ -262,7 +262,7 @@ - (void)updateTableStateLinkedAccountWithEmail {
262262
NSMutableArray *linkedAccounts =
263263
[[NSMutableArray alloc] initWithCapacity:self.auth.currentUser.providerData.count];
264264
for (id<FIRUserInfo> userInfo in self.auth.currentUser.providerData) {
265-
if ([userInfo.providerID isEqualToString:FIREmailAuthProviderID]) {
265+
if ([userInfo.providerID isEqualToString:@"email"]) {
266266
continue;
267267
}
268268
FUIStaticContentTableViewCell *cell =
@@ -309,7 +309,7 @@ - (void)updateTableStateLinkedAccountWithEmailPassword {
309309
NSMutableArray *linkedAccounts =
310310
[[NSMutableArray alloc] initWithCapacity:self.auth.currentUser.providerData.count];
311311
for (id<FIRUserInfo> userInfo in self.auth.currentUser.providerData) {
312-
if ([userInfo.providerID isEqualToString:FIREmailAuthProviderID]) {
312+
if ([userInfo.providerID isEqualToString:@"email"]) {
313313
continue;
314314
}
315315
FUIStaticContentTableViewCell *cell =

FirebaseAuthUI/Sources/FUIAuth.m

+4-1
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,10 @@ - (void)autoUpgradeAccountWithProviderUI:(id<FUIAuthProvider>)providerUI
238238
if (error) {
239239
// Check for "credential in use" conflict error and handle appropriately.
240240
if (error.code == FIRAuthErrorCodeCredentialAlreadyInUse) {
241-
FIRAuthCredential *newCredential = error.userInfo[FIRAuthErrorUserInfoUpdatedCredentialKey];
241+
// TODO: When Firebase 11 is minimum update string to
242+
// FIRAuthErrors.userInfoUpdatedCredentialKey
243+
FIRAuthCredential *newCredential =
244+
error.userInfo[@"FIRAuthErrorUserInfoUpdatedCredentialKey"];
242245
NSDictionary *userInfo = @{ };
243246
if (newCredential) {
244247
userInfo = @{ FUIAuthCredentialKey : newCredential };

FirebaseAuthUI/Sources/FUIAuthBaseViewController.m

+5-5
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthBaseViewController_Internal.h"
1818

19-
#import <FirebaseAuth/FirebaseAuth.h>
19+
@import FirebaseAuth;
2020
#import <objc/runtime.h>
2121

2222
#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthErrorUtils.h"
@@ -430,13 +430,13 @@ - (void)cancelAuthorization {
430430
}
431431

432432
+ (NSString *)providerLocalizedName:(NSString *)providerId {
433-
if ([providerId isEqualToString:FIREmailAuthProviderID]) {
433+
if ([providerId isEqualToString:@"email"]) {
434434
return FUILocalizedString(kStr_ProviderTitlePassword);
435-
} else if ([providerId isEqualToString:FIRGoogleAuthProviderID]) {
435+
} else if ([providerId isEqualToString:@"google.com"]) {
436436
return FUILocalizedString(kStr_ProviderTitleGoogle);
437-
} else if ([providerId isEqualToString:FIRFacebookAuthProviderID]) {
437+
} else if ([providerId isEqualToString:@"facebook.com"]) {
438438
return FUILocalizedString(kStr_ProviderTitleFacebook);
439-
} else if ([providerId isEqualToString:FIRTwitterAuthProviderID]) {
439+
} else if ([providerId isEqualToString:@"twitter.com"]) {
440440
return FUILocalizedString(kStr_ProviderTitleTwitter);
441441
}
442442
return @"";

FirebaseAuthUI/Sources/FUIAuthPickerViewController.m

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthPickerViewController.h"
1818

1919
#import <AuthenticationServices/AuthenticationServices.h>
20-
#import <FirebaseAuth/FirebaseAuth.h>
20+
@import FirebaseAuth;
2121

2222
#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthBaseViewController_Internal.h"
2323
#import "FirebaseAuthUI/Sources/FUIAuthSignInButton.h"

FirebaseAuthUI/Sources/FUIPrivacyAndTermsOfServiceView.m

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIPrivacyAndTermsOfServiceView.h"
1818

19-
#import <FirebaseAuth/FirebaseAuth.h>
19+
@import FirebaseAuth;
2020
#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuth.h"
2121
#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthStrings.h"
2222

FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthProvider.h

+3-1
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,14 @@
1515
//
1616

1717
#import <UIKit/UIKit.h>
18-
#import <FirebaseAuth/FirebaseAuth.h>
18+
@import FirebaseAuth;
1919

2020
@class FIRAuth;
2121
@class FIRAuthCredential;
2222
@class FIRUserInfo;
2323

24+
typedef void (^FIRAuthResultCallback)(FIRUser *_Nullable user, NSError *_Nullable error);
25+
2426
NS_ASSUME_NONNULL_BEGIN
2527

2628
/** @typedef FUIAuthProviderSignInCompletionBlock

FirebaseDatabaseUI.podspec

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = 'FirebaseDatabaseUI'
3-
s.version = '14.1.0'
3+
s.version = '14.2.0'
44
s.summary = 'Prebuilt data sources and UI bindings for Firebase Database.'
55
s.homepage = 'https://github.com/firebase/FirebaseUI-iOS'
66
s.license = { :type => 'Apache 2.0', :file => 'LICENSE' }

FirebaseEmailAuthUI.podspec

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = 'FirebaseEmailAuthUI'
3-
s.version = '14.1.0'
3+
s.version = '14.2.0'
44
s.summary = 'An email authentication provider for FirebaseAuthUI.'
55
s.homepage = 'https://github.com/firebase/FirebaseUI-iOS'
66
s.license = { :type => 'Apache 2.0', :file => 'LICENSE' }

FirebaseEmailAuthUI/FirebaseEmailAuthUITests/FirebaseEmailAuthUITests.m

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
//
1616

1717
#import "FUIEmailAuth.h"
18-
#import <FirebaseAuth/FirebaseAuth.h>
18+
@import FirebaseAuth;
1919
#import <FirebaseAuthUI/FUIAuthErrorUtils.h>
2020
#import "FUIAuthUtils.h"
2121
#import <FirebaseAuthUI/FUIAuth_Internal.h>

FirebaseEmailAuthUI/Sources/FUIConfirmEmailViewController.m

+3-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
#import "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIConfirmEmailViewController.h"
1818

19-
#import <FirebaseAuth/FirebaseAuth.h>
19+
@import FirebaseAuth;
2020

2121
#import <FirebaseAuthUI/FirebaseAuthUI.h>
2222

@@ -137,7 +137,8 @@ - (void)next {
137137
}
138138

139139
- (void)onNext:(NSString *)emailText {
140-
FUIEmailAuth *emailAuth = [self.authUI providerWithID:FIREmailAuthProviderID];
140+
// TODO: After Firebase 11 minimum, change to EmailAuthProvider.id.
141+
FUIEmailAuth *emailAuth = [self.authUI providerWithID:@"email"];
141142

142143
if (![[self class] isValidEmail:emailText]) {
143144
[self showAlertWithMessage:FUILocalizedString(kStr_InvalidEmailError)];

FirebaseEmailAuthUI/Sources/FUIEmailAuth.m

+18-18
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,8 @@
1616

1717
#import "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIEmailAuth.h"
1818

19-
#import <FirebaseCore/FIRApp.h>
20-
#import <FirebaseCore/FIROptions.h>
21-
#import <FirebaseAuth/FirebaseAuth.h>
19+
@import FirebaseCore;
20+
@import FirebaseAuth;
2221
#import <GoogleUtilities/GULUserDefaults.h>
2322

2423
#import <FirebaseAuthUI/FirebaseAuthUI.h>
@@ -78,7 +77,7 @@ + (NSBundle *)bundle {
7877

7978
- (instancetype)init {
8079
return [self initAuthAuthUI:[FUIAuth defaultAuthUI]
81-
signInMethod:FIREmailPasswordAuthSignInMethod
80+
signInMethod:@"email"
8281
forceSameDevice:NO
8382
allowNewEmailAccounts:YES
8483
requireDisplayName:YES
@@ -122,7 +121,7 @@ - (instancetype)initAuthAuthUI:(FUIAuth *)authUI
122121
#pragma mark - FUIAuthProvider
123122

124123
- (nullable NSString *)providerID {
125-
return FIREmailAuthProviderID;
124+
return @"email";
126125
}
127126

128127
/** @fn accessToken:
@@ -294,7 +293,7 @@ - (BOOL)handleOpenURL:(NSURL *)URL sourceApplication:(nullable NSString *)source
294293
- (void)handleUnverifiedProviderLinking:(NSString *)providerID
295294
email:(NSString *)email
296295
error:(NSError **)error {
297-
if ([providerID isEqualToString:FIRFacebookAuthProviderID]) {
296+
if ([providerID isEqualToString:@"facebook.com"]) {
298297
NSData *unverifiedProviderCredentialData = [GULUserDefaults.standardUserDefaults
299298
objectForKey:kEmailLinkSignInLinkingCredentialKey];
300299
FIRAuthCredential *unverifiedProviderCredential;
@@ -533,12 +532,12 @@ - (void)signInWithEmailHint:(NSString *)emailHint
533532
NSString *existingFederatedProviderID = [self authProviderFromProviders:providers];
534533
// Set of providers which can be auto-linked.
535534
NSSet *supportedProviders =
536-
[NSSet setWithObjects:FIRGoogleAuthProviderID,
537-
FIRFacebookAuthProviderID,
538-
FIREmailAuthProviderID,
535+
[NSSet setWithObjects:@"google.com",
536+
@"facebook.com",
537+
@"email",
539538
nil];
540539
if ([supportedProviders containsObject:existingFederatedProviderID]) {
541-
if ([existingFederatedProviderID isEqualToString:FIREmailAuthProviderID]) {
540+
if ([existingFederatedProviderID isEqualToString:@"email"]) {
542541

543542
[FUIAuthBaseViewController showSignInAlertWithEmail:emailHint
544543
providerShortName:@"Email/Password"
@@ -670,7 +669,7 @@ - (void)handleAccountLinkingForEmail:(NSString *)email
670669
return;
671670
}
672671
NSString *bestProviderID = providers[0];
673-
if ([bestProviderID isEqual:FIREmailAuthProviderID]) {
672+
if ([bestProviderID isEqual:@"email"]) {
674673
// Password verification.
675674
UIViewController *passwordController;
676675
if ([delegate respondsToSelector:
@@ -693,13 +692,14 @@ - (void)handleAccountLinkingForEmail:(NSString *)email
693692
return;
694693
}
695694

696-
if ([bestProviderID isEqual:FIREmailLinkAuthSignInMethod]) {
695+
if ([bestProviderID isEqual:@"emailLink"]) {
697696
NSString *providerName;
698-
if ([newCredential.provider isEqualToString:FIRFacebookAuthProviderID]) {
697+
if ([newCredential.provider isEqualToString:@"facebook.com"]) {
699698
providerName = @"Facebook";
700-
} else if ([newCredential.provider isEqualToString:FIRTwitterAuthProviderID]) {
699+
} else if ([newCredential.provider isEqualToString:@"twitter.com"]) {
701700
providerName = @"Twitter";
702-
} else if ([newCredential.provider isEqualToString:FIRGitHubAuthProviderID]) {
701+
} else if ([newCredential.provider isEqualToString:@"github.com"
702+
@"twitter.com"]) {
703703
providerName = @"Github";
704704
}
705705
NSString *message = [NSString stringWithFormat:
@@ -854,9 +854,9 @@ - (void)generateURLParametersAndLocalCache:(NSString *)email linkingProvider:(NS
854854

855855
- (nullable NSString *)authProviderFromProviders:(NSArray <NSString *> *) providers {
856856
NSSet *providerSet =
857-
[NSSet setWithArray:@[ FIRFacebookAuthProviderID,
858-
FIRGoogleAuthProviderID,
859-
FIREmailAuthProviderID ]];
857+
[NSSet setWithArray:@[ @"facebook.com",
858+
@"google.com",
859+
@"email" ]];
860860
for (NSString *provider in providers) {
861861
if ( [providerSet containsObject:provider]) {
862862
return provider;

FirebaseEmailAuthUI/Sources/FUIEmailEntryViewController.m

+8-6
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
#import "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIEmailEntryViewController.h"
1818

19-
#import <FirebaseAuth/FirebaseAuth.h>
19+
@import FirebaseAuth;
2020

2121
#import <FirebaseAuthUI/FirebaseAuthUI.h>
2222

@@ -138,7 +138,7 @@ - (void)next {
138138
}
139139

140140
- (void)onNext:(NSString *)emailText {
141-
FUIEmailAuth *emailAuth = [self.authUI providerWithID:FIREmailAuthProviderID];
141+
FUIEmailAuth *emailAuth = [self.authUI providerWithID:@"email"];
142142
id<FUIAuthDelegate> delegate = self.authUI.delegate;
143143

144144
if (![[self class] isValidEmail:emailText]) {
@@ -165,7 +165,7 @@ - (void)onNext:(NSString *)emailText {
165165
}
166166

167167
id<FUIAuthProvider> provider = [self bestProviderFromProviderIDs:providers];
168-
if (provider && ![provider.providerID isEqualToString:FIREmailAuthProviderID]) {
168+
if (provider && ![provider.providerID isEqualToString:@"email"]) {
169169
NSString *email = emailText;
170170
[[self class] showSignInAlertWithEmail:email
171171
provider:provider
@@ -176,7 +176,7 @@ - (void)onNext:(NSString *)emailText {
176176
cancelHandler:^{
177177
[self.authUI signOutWithError:nil];
178178
}];
179-
} else if ([providers containsObject:FIREmailAuthProviderID]) {
179+
} else if ([providers containsObject:@"email"]) {
180180
UIViewController *controller;
181181
if ([delegate respondsToSelector:@selector(passwordSignInViewControllerForAuthUI:email:)]) {
182182
controller = [delegate passwordSignInViewControllerForAuthUI:self.authUI
@@ -186,7 +186,9 @@ - (void)onNext:(NSString *)emailText {
186186
email:emailText];
187187
}
188188
[self pushViewController:controller];
189-
} else if ([emailAuth.signInMethod isEqualToString:FIREmailLinkAuthSignInMethod]) {
189+
190+
// TODO: Use API to get string when Firebase 11 is the minimum.
191+
} else if ([emailAuth.signInMethod isEqualToString:@"emailLink"]) {
190192
[self sendSignInLinkToEmail:emailText];
191193
} else {
192194
if (providers.count) {
@@ -223,7 +225,7 @@ - (void)sendSignInLinkToEmail:(NSString*)email {
223225
}
224226

225227
[self incrementActivity];
226-
FUIEmailAuth *emailAuth = [self.authUI providerWithID:FIREmailAuthProviderID];
228+
FUIEmailAuth *emailAuth = [self.authUI providerWithID:@"email"];
227229
[emailAuth generateURLParametersAndLocalCache:email linkingProvider:nil];
228230
[self.auth sendSignInLinkToEmail:email
229231
actionCodeSettings:emailAuth.actionCodeSettings

FirebaseEmailAuthUI/Sources/FUIPasswordRecoveryViewController.m

+2-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616

1717
#import "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIPasswordRecoveryViewController.h"
1818

19-
#import <FirebaseAuth/FirebaseAuth.h>
19+
@import FirebaseAuth;
20+
2021
#import <FirebaseAuthUI/FirebaseAuthUI.h>
2122

2223
#import "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIEmailAuth.h"

FirebaseEmailAuthUI/Sources/FUIPasswordSignInViewController.m

+4-1
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,16 @@
1616

1717
#import "FUIPasswordSignInViewController_Internal.h"
1818

19-
#import <FirebaseAuth/FirebaseAuth.h>
19+
@import FirebaseAuth;
2020
#import <FirebaseAuthUI/FirebaseAuthUI.h>
2121

2222
#import "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIEmailAuth.h"
2323
#import "FirebaseEmailAuthUI/Sources/FUIEmailAuthStrings.h"
2424
#import "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIPasswordRecoveryViewController.h"
2525

26+
typedef void (^FIRAuthDataResultCallback)(FIRAuthDataResult *_Nullable authResult,
27+
NSError *_Nullable error);
28+
2629
/** @var kCellReuseIdentifier
2730
@brief The reuse identifier for table view cell.
2831
*/

0 commit comments

Comments
 (0)