繁体   English   中英

锁定iOS设备后,如何启用对NSURLCredentials的访问?

[英]How can I enable access of NSURLCredentials when an iOS Device is locked?

我正在使用Swagger生成的Swift客户端,该客户端使用NSURLCredentials与服务器进行身份验证。 我正在使用持久性类型.Permanent我的应用程序在后台与服务器通信,并且可以正常工作,但当我锁定手机时(在日志中看到401错误)。 我认为,当手机锁定时, NSURLCredential无法访问钥匙串。 我遇到了一些有关使用kSecAttrAccessibleAfterFirstUnlock启用钥匙串访问的kSecAttrAccessibleAfterFirstUnlock 我还不能弄清楚如何使用NSURLCredential做到这NSURLCredential 有人知道是否以及如何配置吗?

是的,很可能就是这样。 您有两种选择:

  • 删除基础钥匙串项并重新创建它,并指定在解锁设备后应该可以访问它。 使用该方法根本不需要使用NSURLCredential 只需使用Keychain Services API创建一个Internet密码项目,凭据存储区就会自动将其选中。
  • 将凭证数据保存在内存中,并在会话委托中实现URLSession:task:didReceiveChallenge:completionHandler:委托方法(如果使用该API,则为NSURLConnection的等效方法)以在询问时提供凭证。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM