[英]Keychain access on iOS
在 iOS 上訪問鑰匙串時遇到問題 - 代碼在 Mac 上運行良好。 無論我做什么,我都會返回一個錯誤 -50 (errSecParam)。 任何想法都非常感謝。 謝謝
CFMutableDictionaryRef query = CFDictionaryCreateMutable( nullptr, 10, nullptr, nullptr );
CFDictionaryAddValue( query, kSecClass, kSecClassGenericPassword );
CFDictionaryAddValue( query, kSecAttrService, CFSTR( "test" ) );
CFDictionaryAddValue( query, kSecAttrAccount, CFSTR( "test" ) );
CFDictionaryAddValue( query, kSecUseAuthenticationUI, kSecUseAuthenticationUISkip );
CFDictionaryAddValue( query, kSecAttrAccessControl, kSecAttrAccessible );
const auto res = SecItemAdd( query, nullptr );
2個問題:
kSecUseAuthenticationUI
, kSecUseAuthenticationUISkip
只能用作SecCopyItemMatching
的選項kSecAttrAccessible
是字典鍵而不是值。 kSecAttrAccessControl
的值應該是SecAccessControlRef
。如果您刪除這兩個選項,它將起作用。 當然,您可能需要研究需要哪些替換值來恢復您的原始意圖。
此信息來自 header 文件中的注釋。 如果我能找到它們,我會添加到在線文檔的鏈接。
更新了在線鏈接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.