UIWebView不会在iOS3.2 / iOS4上保留身份验证

时间:2010-07-28 01:23:26

标签: iphone authentication ipad uiwebview

我创建了一个使用UIWebView显示使用基本身份验证的站点的应用程序。它从iOS3.2开始停止显示内容(在iPhone和iPad上)。

我对用户进行身份验证的方法是:

  1. 创建NSURLConnection
  2. 实施didReceiveAuthenticationChallenge以提供凭证
  3. 实现didReceiveResponse以接收响应并在UIWebView中加载请求,即[webView loadRequest:]
  4. 自从iOS3.2以来,身份验证被破坏了; UIWebView似乎不再检查共享凭据存储。

    对于iPhone上的iOS4,我设法通过愚蠢的方式解决这个问题,包括URL中的登录信息(即https://username:password@www.somesite.com)到传递给webView的初始加载请求。

    对于iPad上的iOS3.2,这还不够。初始请求可以进行身份​​验证,但后续调用仍然未经过身份验证。

    有什么建议吗?

1 个答案:

答案 0 :(得分:-1)

在共享setDefaultCredential:forProtectionSpace上使用NSURLCredentialStorage: Webview仍然使用默认凭据,当您使用setCredential:forProtectionSpace时,它不起作用。