Nik*_*iki 1 xcode browser-cache ios swift sfsafariviewcontroller
在我的应用程序中,我正在实现一项功能,其中某些部分我需要使用 SFSafariViewController 打开我的网站。为此,我也不希望用户在 Web 应用程序中再次登录,因此在打开 SFSafariViewController 之前,我想传递一些令牌、邮件和其他所需信息。那么这是否可行并且允许我使用浏览器缓存。
SFSafariViewController您可以配置的内容非常有限,如文档所示: https: //developer.apple.com/documentation/safariservices/sfsafariviewcontroller。出于安全和隐私原因,Apple 有意将 cookie 和 safari 配置与使用它的应用程序分开。
我不知道这是否正是您所看到的,但我遇到了类似的问题,如果用户通过 登录SFSafariViewControler,然后注销(不使用SFSafariViewController),然后再次登录,它不会要求登录/密码,因为它仍然缓存在浏览器中。
几乎唯一的两个选择是:
SFSafariViewController以便您可以通过这种方式清除 cookie。ASWebAuthenticationSession(文档在这里),它有一个新的属性,您可以设置名为prefersEphemeralWebBrowserSession它本质上以私有模式打开浏览器。这可以防止任何 cookie 存储在浏览器中。唯一的缺点是该prefersEphemeralWebBrowserSession属性仅在 iOS 13+ 中可用。如果这与您面临的问题相同,并且您可以将应用程序限制为 iOS 13+,那么我会建议该ASWebAuthenticationSession路线,否则您可能需要寻找其他解决方案。
| 归档时间: |
|
| 查看次数: |
3212 次 |
| 最近记录: |