ios - kSecUseAuthenticationUISkip 使用方法
<p><p>我想通过以下访问控制向 secItemAdd 添加一个项目</p>
<pre><code>SecAccessControlRef sacObject = SecAccessControlCreateWithFlags(kCFAllocatorDefault,
kSecAttrAccessibleAfterFirstUnlock,
/*kecAccessControlTouchIDAny | */kSecAccessControlApplicationPassword, &error);
</code></pre>
<p>所以它基本上要求密码将项目添加到钥匙串(keychain),这是完美的,但是当我想访问这个项目时,我想跳过 UI 身份验证,并且我想使用 kSecUseAuthenticationUISkip 手动提供密码。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>根据 Apple 关于 <code>kSecUseAuthenticationUISkip</code> 常量 (<a href="https://developer.apple.com/reference/security/ksecuseauthenticationuiskip?language=objc" rel="noreferrer noopener nofollow">https://developer.apple.com/reference/security/ksecuseauthenticationuiskip?language=objc</a>) 的文档</p>
<blockquote>
<p>Silently skip any items that require user authentication. Only use this value with the <code>SecItemCopyMatching</code> function.</p>
</blockquote>
<p>所以不是选择性地跳过身份验证,而是跳过需要身份验证的项目</p>
<p>现在,当您想使用应用程序提供的密码保护对钥匙串(keychain)的访问时,在调用 <code>SecItemAdd</code> 时,您必须使用 <code>kSecUseAuthenticationContext</code> 键设置为<code>LAContext</code> 类型为 <code>LACredentialTypeApplicationPassword</code> 的实例,其中包含您向用户询问的密码以及您传递给 <code> 的对象中的 <code>kSecAccessControlApplicationPassword</code> >kSecAttrAccessControl</code> 键。</p>
<p>这是一篇文章,它通过一个示例对其进行了解释,我认为它非常适合您的用例:<a href="http://collinbstuart.github.io/lessons/2015/11/04/keychain_entropy" rel="noreferrer noopener nofollow">http://collinbstuart.github.io/lessons/2015/11/04/keychain_entropy</a> </p></p>
<p style="font-size: 20px;">关于ios - kSecUseAuthenticationUISkip 使用方法,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/42339000/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/42339000/
</a>
</p>
页:
[1]