2016-09-21 86 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

它並沒有解決你的問題,但它的原因,從提供的答案,是最好的 –