查询 IOS 没有帐户属性的钥匙串?

Querying IOS Keychain with out account attribute?

您好,我目前正在尝试在没有 kSecAttrAccountValue 属性且仅使用 kSecAttrServiceValue 的情况下查询我的项目的钥匙串。这可能吗?状态显示为 0,但响应为零。我尝试添加一个帐户,效果很好!但是,我的目标是获得没有它的结果或存储在同一服务中的所有结果。请告诉我谢谢!

参考:

代码:

let keychainQuery: NSMutableDictionary = NSMutableDictionary(objects: [kSecClassGenericPasswordValue, service, kCFBooleanTrue, kSecMatchLimitOneValue], forKeys: [kSecClassValue, kSecAttrServiceValue, kSecReturnDataValue, kSecMatchLimitValue])

        var dataTypeRef :AnyObject?

        // Search for the keychain items
        let status: OSStatus = SecItemCopyMatching(keychainQuery, &dataTypeRef)
        var contentsOfKeychain: String?

        if status == errSecSuccess {
            if let retrievedData = dataTypeRef as? Data {
                contentsOfKeychain = String(data: retrievedData, encoding: String.Encoding.utf8)
            }
        } else {
            print("Nothing was retrieved from the keychain. Status code \(status)")
        }

        return contentsOfKeychain

KeychainAccess使用钥匙串更简单:

// Create keychain object
let keychain = Keychain(service: "com.company.AppName")

// Store value in keychain
keychain["password"] = "test"

// Retrieve value from keychain
let password = keychain["password"]