相关疑难解决方法(0)

SecItemAdd总是在iOS 10模拟器中的Xcode 8中返回错误-34018

更新:此问题已在Xcode 8.2中修复.Keychain在模拟器中工作,无需启用钥匙串共享.

为什么在Xcode 8/iOS 10模拟器中调用函数时总是收到错误-34018 ?SecItemAdd

重现步骤

在Xcode 8中创建一个新的单页iOS应用程序项目.运行以下代码viewDidLoad(或打开 Xcode项目).

let itemKey = "My key"
let itemValue = "My secretive bee "

// Remove from Keychain
// ----------------

let queryDelete: [String: AnyObject] = [
  kSecClass as String: kSecClassGenericPassword,
  kSecAttrAccount as String: itemKey as AnyObject
]

let resultCodeDelete = SecItemDelete(queryDelete as CFDictionary)

if resultCodeDelete != noErr {
  print("Error deleting from Keychain: \(resultCodeDelete)")
}


// Add to keychain
// ----------------

guard let valueData …
Run Code Online (Sandbox Code Playgroud)

xcode ios ios10 xcode8

102
推荐指数
4
解决办法
3万
查看次数

标签 统计

ios ×1

ios10 ×1

xcode ×1

xcode8 ×1