diff --git a/Pods b/Pods index 675e4be7f..4c3935aa7 160000 --- a/Pods +++ b/Pods @@ -1 +1 @@ -Subproject commit 675e4be7f1a7c35d447965143ca0cadef99a179e +Subproject commit 4c3935aa74dfe52f047d664197bbf3f9d7b50c86 diff --git a/SignalServiceKit/src/Storage/KeychainStorage.swift b/SignalServiceKit/src/Storage/KeychainStorage.swift index 12e76e4da..168609bed 100644 --- a/SignalServiceKit/src/Storage/KeychainStorage.swift +++ b/SignalServiceKit/src/Storage/KeychainStorage.swift @@ -94,6 +94,11 @@ public class SSKDefaultKeychainStorage: NSObject, SSKKeychainStorage { var error: NSError? let result = SAMKeychain.deletePassword(forService: service, account: key, error: &error) if let error = error { + // If deletion failed because the specified item could not be found in the keychain, consider it success. + if error.code == errSecItemNotFound { + Logger.info("Keychain delete failed; item not found.") + return + } throw KeychainStorageError.failure(description: "\(logTag) error removing data: \(error)") } guard result else {