Skip to content

Support arbitrary transforms of data during migration #226

@sergstav

Description

@sergstav

Thank you for this great library.

I try to do simple migration my old keychain data to Valet, but it gives me an error: keyInQueryResultInvalid

This is my source code:

 func migrateOldKeychainDataToValet(key: String) {
        
        let query = [
        kSecClass as String       : kSecClassGenericPassword,
        kSecAttrAccount as String : key,
        kSecAttrService as String : Bundle.main.bundleIdentifier ?? "SwiftKeychainWrapper",
        kSecMatchLimit as String  : kSecMatchLimitAll ] as [String : AnyHashable]
        
        let result = KeychainWrapper.standart.migrateObjects(matching: query, removeOnCompletion: false)
        print("result: \(result)")
    }

Where
KeychainWrapper.standart.migrateObjects(matching: query, removeOnCompletion: false)
is just a wrapper of Valet's method.

public func migrateObjects(matching query: [String : AnyHashable], removeOnCompletion: Bool) -> MigrationResult {
        return valet.migrateObjects(matching: query, removeOnCompletion: removeOnCompletion)
    }

As I understand issue appear on this line
Screenshot 2020-05-18 at 21 17 07

So this line returns error.

guard !key.isEmpty else {
                return .keyInQueryResultInvalid
            }

I'm doing something wrong?

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions