@@ -85,8 +85,7 @@ extension ParseUser {
8585 internal static func deleteCurrentContainerFromKeychain( ) {
8686 try ? ParseStorage . shared. delete ( valueFor: ParseStorage . Keys. currentUser)
8787 try ? KeychainStore . shared. delete ( valueFor: ParseStorage . Keys. currentUser)
88- try ? ParseStorage . shared. delete ( valueFor: ParseStorage . Keys. currentInstallation)
89- try ? KeychainStore . shared. delete ( valueFor: ParseStorage . Keys. currentInstallation)
88+ BaseParseUser . currentUserContainer = nil
9089 }
9190
9291 /**
@@ -202,8 +201,9 @@ extension ParseUser {
202201 */
203202 public static func logout( options: API . Options = [ ] , callbackQueue: DispatchQueue = . main,
204203 completion: @escaping ( ParseError ? ) -> Void ) {
205- logoutCommand ( ) . executeAsync ( options: options) { result in
206- callbackQueue. async {
204+ callbackQueue. async {
205+ logoutCommand ( ) . executeAsync ( options: options) { result in
206+
207207 switch result {
208208
209209 case . success:
@@ -230,7 +230,7 @@ extension ParseUser {
230230 }
231231 //Always let user logout locally, no matter the error.
232232 deleteCurrentContainerFromKeychain ( )
233- currentUserContainer = nil
233+ BaseParseInstallation . deleteCurrentContainerFromKeychain ( )
234234 guard let error = parseError else {
235235 return serverResponse
236236 }
@@ -522,6 +522,7 @@ extension ParseUser {
522522 callbackQueue. async {
523523 do {
524524 try Self . updateKeychainIfNeeded ( [ foundResult] )
525+ completion ( . success( foundResult) )
525526 } catch let error {
526527 let returnError : ParseError !
527528 if let parseError = error as? ParseError {
@@ -532,9 +533,10 @@ extension ParseUser {
532533 completion ( . failure( returnError) )
533534 }
534535 }
535- }
536- callbackQueue. async {
537- completion ( result)
536+ } else {
537+ callbackQueue. async {
538+ completion ( result)
539+ }
538540 }
539541 }
540542 } catch let error as ParseError {
0 commit comments