0
我有幾個單元測試來驗證我使用鑰匙串的方式是否正確,並且數據在加載時處於相同的形式。不能在Xcode9測試中使用鑰匙串測試
測試運行正常,直到更新到XCode 9.此刻,KeychainService返回-50(未保存)。
根據此question,它通過將主機添加到單元測試來解決。但是,我的測試是在框架項目中,沒有應用程序可用作主機。
let query = [
kSecClass as String : kSecClassGenericPassword as String,
kSecAttrAccount as String : key,
kSecValueData as String : data ] as [String : Any]
SecItemDelete(query as CFDictionary)
SecItemAdd(query as CFDictionary, nil)
什麼是推薦的解決方案?我期望在XCode中進行一些配置,將測試移到應用程序中對我來說不是一個合適的解決方案。
任何相關的代碼片段...?在Xcode9中,我有一個完美的_KeyChain_訪問,Swift4;這裏沒有異常現象。您也可以查看蘋果網站上的官方[GenericKeychain](https://developer.apple.com/library/content/samplecode/GenericKeychain/Introduction/Intro.html)項目,以便與您的項目進行比較並發現故障。 – holex
我添加了代碼示例。調用'SecItemAdd'返回-50 –
澄清 - KeyChain正在工作,但不是在單元測試中 –