Macos SecItemCopyMatching可以';t读取iCloud钥匙链

Macos SecItemCopyMatching可以';t读取iCloud钥匙链,macos,cocoa,icloud,keychain,Macos,Cocoa,Icloud,Keychain,我从堆栈溢出中获取代码以访问一些web浏览器密码。只要密码在登录密钥链中,它就工作得很好。在某个时刻,我感兴趣的特定帐户被移动到iCloud密钥链,并且不再存在于登录密钥链中。SecItemCopyMatching找不到它。它返回OSStatus-23500,即“未找到项目”。如何访问这些条目 CFArrayRef result = NULL; NSDictionary *params = @{ (__bridge id)kSecClass : (__bridge id)k

我从堆栈溢出中获取代码以访问一些web浏览器密码。只要密码在登录密钥链中,它就工作得很好。在某个时刻,我感兴趣的特定帐户被移动到iCloud密钥链,并且不再存在于登录密钥链中。SecItemCopyMatching找不到它。它返回OSStatus-23500,即“未找到项目”。如何访问这些条目

CFArrayRef result = NULL;
NSDictionary *params = @{ (__bridge id)kSecClass            : (__bridge id)kSecClassInternetPassword,
                        (__bridge id)kSecMatchLimit       : (__bridge id)kSecMatchLimitAll,
                        (__bridge id)kSecReturnAttributes : (__bridge id)kCFBooleanTrue,
                        (__bridge id)kSecAttrProtocol     : (__bridge id)kSecAttrProtocolHTTPS,
                        (__bridge id)kSecAttrServer       : @"accounts.mydomain.com"
                        };
OSStatus status = SecItemCopyMatching((__bridge CFDictionaryRef)(params), (CFTypeRef *) &result);

if (status == noErr) {
   // item found!
}