当前位置: 首页 > 面试题库 >

如何清除SFSafariViewController凭据?

姬宝
2023-03-14
问题内容

我在Swift 2中使用SFSafariViewController在具有ios 9.1(13B143)的iPad Air
2上显示网页。每个网页都需要用户提供凭据。但是,当用户按下注销按钮时,我需要清除这些凭据。我尝试使用以下方法:

  let allCreds = NSURLCredentialStorage.sharedCredentialStorage().allCredentials
    for (protectionSpace, userCredsDict) in allCreds {
        for (_, cred) in userCredsDict {
            print("DELETING CREDENTIAL")
            NSURLCredentialStorage.sharedCredentialStorage().removeCredential(cred, forProtectionSpace: protectionSpace, options: ["NSURLCredentialStorageRemoveSynchronizableCredentials" : true])
        }

    }
    // Clear cookies
    if let cookies = NSHTTPCookieStorage.sharedHTTPCookieStorage().cookies {
        for (cookie) in cookies {
            print("DELETING COOKIE")
            NSHTTPCookieStorage.sharedHTTPCookieStorage().deleteCookie(cookie)
        }
    }

    // Clear history
    print("CLEARING URL HISTORY")
    NSURLCache.sharedURLCache().removeAllCachedResponses()
    NSUserDefaults.standardUserDefaults().synchronize()

但这不起作用。实际上,“ DELETING CREDENTIAL”和“ DELETING
COOKIE”从未打印过。此外,我可以从iPad上完全删除该应用程序,然后重新安装它,并且当我导航回Web
URL时仍会缓存凭据。我发现清除凭据的唯一方法是关闭iPad并重新打开电源。

问题:如何以编程方式清除凭据?


问题答案:

因此,我为此开了一个苹果“技术支持事件”。以下是其答案的摘要:SFSafariViewController在我的Apphtml" target="_blank">进程之外运行,并且为了安全起见,我的App无法修改SFSafariViewController的状态。换句话说,我的应用程序无法清除SFSafariViewController存储的凭据。



 类似资料:
  • 当Kubernetes pod进入状态时,您将修复底层问题。你怎么强迫它重新安排?

  • 问题内容: 在导入flask时,我们导入模块等。 是一种字典,可以使用会话进行访问。 现在,我尝试清除尝试构建网站时使用的所有垃圾变量。 关于stackoverflow的答案之一使用了类似清除会话内容的命令。但是,这样的命令会产生错误,表明不存在这样的命令。 谁能为我指出每次关闭服务器或关闭网站时如何清除和如何清除会话? 问题答案: 我将这样的会话与flask一起使用,它确实起作用。我虽然不使用,

  • 问题内容: 我的 单元/集成测试 包括搜索功能的测试。 我的想法是在每次测试之前有一个空的搜索索引。因此,我正在尝试删除方法(它是Groovy代码)的索引中的所有元素: 似乎它正在异步处理所有删除操作,因此在它之后添加了它。如您所见,我尝试几次打开/关闭连接-在那里没有帮助。 这个问题有时需要更多时间,有时需要5秒钟以上才能删除,有时无法找到刚刚添加的数据(来自先前的测试),等等。而最令人烦恼的是

  • 问题内容: 我正在构建Codeigniter应用程序,并且正在尽最大努力防止SQL注入。我正在使用Active Record方法构造所有查询。我知道Active Record会自动清除输入内容,但是我想知道到底是什么程度?它只是转义所有引号,还是做更多呢?如何防止混淆的SQL注入或其他更高级的注入? 基本上,我正在寻找有关CI如何清理数据的深入说明。有人知道吗 问题答案: 完全像这样(对于MySQ

  • 任何人都能告诉我Java中用于清晰屏幕的代码是什么吗? 例如,在C中: Java中使用什么代码来清除屏幕?