diff --git a/WordPress/Classes/Services/AccountService.h b/WordPress/Classes/Services/AccountService.h index d1ea256c9847..8a793f6f9b86 100644 --- a/WordPress/Classes/Services/AccountService.h +++ b/WordPress/Classes/Services/AccountService.h @@ -85,7 +85,7 @@ extern NSNotificationName const WPAccountEmailAndDefaultBlogUpdatedNotification; @param failure A failure block. */ - (void)createOrUpdateAccountWithAuthToken:(NSString *)authToken - success:(void (^)(WPAccount * _Nonnull))success + success:(void (^)(WPAccount * _Nullable))success failure:(void (^)(NSError * _Nonnull))failure; - (NSManagedObjectID *)createOrUpdateAccountWithUserDetails:(RemoteUser *)remoteUser authToken:(NSString *)authToken; diff --git a/WordPress/Classes/Services/AccountService.m b/WordPress/Classes/Services/AccountService.m index 58f0c4887eec..8a669e174e30 100644 --- a/WordPress/Classes/Services/AccountService.m +++ b/WordPress/Classes/Services/AccountService.m @@ -180,7 +180,7 @@ - (WPAccount *)findDefaultAccountCandidateFromAccounts:(NSArray *)allAccounts } - (void)createOrUpdateAccountWithAuthToken:(NSString *)authToken - success:(void (^)(WPAccount * _Nonnull))success + success:(void (^)(WPAccount * _Nullable))success failure:(void (^)(NSError * _Nonnull))failure { WordPressComRestApi *api = [WordPressComRestApi defaultApiWithOAuthToken:authToken userAgent:[WPUserAgent wordPressUserAgent] localeKey:[WordPressComRestApi LocaleKeyDefault]]; diff --git a/WordPress/Classes/Services/WordPressComSyncService.swift b/WordPress/Classes/Services/WordPressComSyncService.swift index 802f7a1c0b18..3aaeca35024b 100644 --- a/WordPress/Classes/Services/WordPressComSyncService.swift +++ b/WordPress/Classes/Services/WordPressComSyncService.swift @@ -24,6 +24,10 @@ class WordPressComSyncService { func syncWPCom(authToken: String, isJetpackLogin: Bool, onSuccess: @escaping (WPAccount) -> Void, onFailure: @escaping (Error) -> Void) { let accountService = AccountService(coreDataStack: coreDataStack) accountService.createOrUpdateAccount(withAuthToken: authToken, success: { account in + guard let account else { + onFailure(URLError(.unknown)) + return + } self.syncOrAssociateBlogs(account: account, isJetpackLogin: isJetpackLogin, onSuccess: onSuccess, onFailure: onFailure) }, failure: { error in onFailure(error)