2016-09-21 141 views
7

我想将访问令牌存储到钥匙串中。但我得到的错误:Couldn't add the Keychain Item.'KeychainItemWrapper'无法添加钥匙串项目'。

我查了一些职位上的计算器一样: 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. 我尝试添加该

    keyWrapper?.setObject(kSecAttrAccessible, forKey: kSecAttrAccessible) 
    
  2. 变化kSecValueDatakSecAttrGeneric

我正在使用swift 3.0运行Xcode 8。任何提示谢谢你!

编辑 ===========================

Viruss马华的回答接通分享钥匙扣权利只是工作曾经对我来说:(

+0

重复http://stackoverflow.com/questions/38456471/secitemadd-always-returns-error-34018-in-xcode-8-in-ios-10-simulator? –

回答

26

我最近面对的Xcode 8

这个问题要解决此问题,您必须将“共享钥匙扣权利”添加到Xcode的能力

有很多用户遇到过这个问题。

编号: https://forums.developer.apple.com/thread/60617

+1

您节省了我的时间!!谢谢! –

+0

嗨,Viruss,这很有趣。这只适用于我一次。我启用它。现在还是一样的错误。我试图将KeyChain组字符串添加到'accessGroup'参数中,仍然没有帮助。任何想法? –

+0

@WilliamHu:你从哪里得到这个问题?在设备上? –

-3

OK,后挣扎了很长一段时间,我发现我之前,我更新到Xcode8我的苹果账户即将到期。我通过删除我的帐户然后重新登录来解决它。并且只针对设备而非模拟器。

+2

关于权利的其他答案应该是被接受的答案。 –

+0

嗨@ KennyWyland我知道Viruss提供了一个很好的解决方案,但它并不能真正解决我的问题。我已经投了赞成这个答案。谢谢! –

+0

它并没有解决你的问题,但它的原因,从提供的答案,是最好的 –