Swift + Locksmith:没有存储钥匙串值
问题描述:
所以我似乎有一些问题从Keychain获取这个值。Swift + Locksmith:没有存储钥匙串值
这是我用来保存密码。这是在第二个视图控制器上调用的。
do {
try Locksmith.updateData(["password": "Boom123456"], forUserAccount: "KeychainDemo")
} catch {
print("Unable to set password")
}
当我回到那个有钥匙串项检查的第一个视图控制器:
let dictionary = Locksmith.loadDataForUserAccount("KeychainDemo")
if let passwordSaved = dictionary!["password"]?.stringValue {
print("password: \(passwordSaved)")
} else {
print("No Password")
}
当我运行的应用程序,我得到:
无密码
在控制台中。然而,当我设置的让利字典破发点然后键入PO字典在控制台中我得到这样的输出:
Optional <Dictionary<String, AnyObject>>
Some : 1 elements
[0] : 2 elements
- .0 : "password"
- .1 : Boom123456
所以它的存在,任何人都可以明白为什么我的代码是没有得到的来自钥匙串的密码?
答
看起来像是在您的“密码”字符串中错误地拉出字典。在这种情况下不要使用.stringValue函数。改变这一行:
if let passwordSaved = dictionary!["password"]?.stringValue {
到
if let passwordSaved = dictionary!["password"] as? String {
你运行模拟器的应用程序? –
@LorenzoBoaro yup – JamesG