William Hu
William Hu

Reputation: 16179

KeychainItemWrapper 'Couldn't add the Keychain Item.'

I want to store access token to keychain. But i got the error: Couldn't add the Keychain Item.'

I checked some posts on stackoverflow like: Storing email in keychain impossible (KeychainItemWrapper)

MyCode:

let a = NSKeyedArchiver.archivedData(withRootObject: "980a872c17a075367357e25e88c1c0476417092a")
let keyWrapper = KeychainItemWrapper.init(identifier: "23123123", accessGroup: nil)
keyWrapper?.setObject(a, forKey: kSecValueData)
  1. I tried add this

    keyWrapper?.setObject(kSecAttrAccessible, forKey: kSecAttrAccessible)
    
  2. Change kSecValueData to kSecAttrGeneric

I am running Xcode 8 with swift 3.0. Any hints thank you!

EDIT===========================

Viruss mca's answer turn on Share keychain entitlement just work once for me : (

Upvotes: 8

Views: 9692

Answers (2)

William Hu
William Hu

Reputation: 16179

OK, after struggle a long time i found i my Apple account was expired before i update to Xcode8. I solved it by removed my account then login again. And only for device not simulator.

Upvotes: -2

Toseef Khilji
Toseef Khilji

Reputation: 17419

I have recently face this issue with Xcode 8.

To solve the issue You have to add the "Share keychain entitlement" to Xcode capabilities.

enter image description here

There are many users who faced this issue.

Ref: https://forums.developer.apple.com/thread/60617

Upvotes: 27

Related Questions