SecItemAdd returns -50 在 Xcode 9
SecItemAdd returns -50 on Xcode 9
以下代码:
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 上 returns -50
错误(又名 errSecParam
)。
有什么帮助吗?
我找到了答案。我需要为 Keychain 框架添加一个主机应用程序以获得完整的上下文。
在我的 xxxxxTests
目标中,我必须在 Host Application
菜单(在 General
选项卡中)中设置我的主应用程序。
奇怪的是 Xcode 8.
上没有必要
以下代码:
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 上 returns -50
错误(又名 errSecParam
)。
有什么帮助吗?
我找到了答案。我需要为 Keychain 框架添加一个主机应用程序以获得完整的上下文。
在我的 xxxxxTests
目标中,我必须在 Host Application
菜单(在 General
选项卡中)中设置我的主应用程序。
奇怪的是 Xcode 8.
上没有必要