最新消息:20210917 已从crifan.com换到crifan.org

[已解决]swift KeychainItemWrapper记住之前保存的密码

Swift crifan 2621浏览 0评论
折腾:
【已解决】用swift保存用户名和密码
期间,遇到问题:
用官网的:
swift版本:
只需要把:
下载到本地,加入到Xcode中,即可用:
        let saveSuccessful: Bool = KeychainWrapper.setString(usernameTextField.text!, forKey: StrUsernameKey)
        print("saveSuccessful=\(saveSuccessful)") //saveSuccessful=true
        let retrievedString: String? = KeychainWrapper.stringForKey(StrUsernameKey)
        print("retrievedString=\(retrievedString)") //retrievedString=Optional("crifan@daryun.com")
        let removeSuccessful: Bool = KeychainWrapper.removeObjectForKey(StrUsernameKey)
        print("removeSuccessful=\(removeSuccessful)") //removeSuccessful=true
        let retrievedStringAfterDelete: String? = KeychainWrapper.stringForKey(StrUsernameKey)
        print("retrievedStringAfterDelete=\(retrievedStringAfterDelete)") //retrievedStringAfterDelete=nil

去以加密的方式去读取和保存密码了。

但是发现个问题:
如果用KeychainWrapper的话,下次程序再去用KeychainWrapper.stringForKey读取上次存储的值,是没有的。。。
swift KeychainItemWrapper remember password
去导入Security.framework
然后发现,此处是否添加 Security.framework,好像其实没啥影响。。。
后来才发现:
原来是自己此处的测试代码导致此问题的:
测试代码中,set后,retrieve后,调用了remove
-》导致下次直接去retrieve获取不到上次存的值了
-》去掉了remove后,在此调试一次,即可获得上次保存的值了:
//        let saveSuccessful: Bool = KeychainWrapper.setString(usernameTextField.text!, forKey: StrUsernameKey)
//        print("saveSuccessful=\(saveSuccessful)") //saveSuccessful=true
        let retrievedString: String? = KeychainWrapper.stringForKey(StrUsernameKey)
        print("retrievedString=\(retrievedString)") //retrievedString=Optional("crifan@daryun.com")
//        let removeSuccessful: Bool = KeychainWrapper.removeObjectForKey(StrUsernameKey)
//        print("removeSuccessful=\(removeSuccessful)") //removeSuccessful=true
//        let retrievedStringAfterDelete: String? = KeychainWrapper.stringForKey(StrUsernameKey)
//        print("retrievedStringAfterDelete=\(retrievedStringAfterDelete)") //retrievedStringAfterDelete=nil

 

转载请注明:在路上 » [已解决]swift KeychainItemWrapper记住之前保存的密码

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
97 queries in 0.211 seconds, using 23.36MB memory