以下代码:
var newItem = [String: Any]()
newItem[kSecClass as String] = aValue
newItem[kSecAttrService as String] = aValue
newItem[kSecAttrAccount as String] = aValue
newItem[kSecValueData as String] = aValue
newItem[kSecAttrAccessible as String] = aValue
// Add a the new item to the keychain.
let status = SecItemAdd(newItem as CFDictionary, nil)
if status != noErr {
print("Error during access token save. \(status)")
}
在Xcode 8上完美运行而不返回任何错误,并在Xcode 9上返回-50
错误(aka。errSecParam
)。
任何帮助?
答案 0 :(得分:1)
我找到了答案。我需要为Keychain框架添加一个主机应用程序以获得完整的上下文。
在我的xxxxxTests
目标中,我必须在Host Application
菜单中设置我的主应用程序(在General
标签中)。
奇怪的是,在Xcode 8上没有必要。