代码之家  ›  专栏  ›  技术社区  ›  strano

iOS-临时会话和UIWebView

  •  0
  • strano  · 技术社区  · 8 年前

    我想将网页加载到 UIWebView ,使用 URLSession

    所以,我有一个 UIWebView 已命名 webPage

    @IBOutlet var webPage: UIWebView!
    

    UITextField

    @IBOutlet var urlField: UITextField!
    

    在这个文本字段旁边,我有一个 UIButton

    @IBAction func sendUrl(_ sender: Any) {
        let stringUrl = urlField.text
        let url = URL (string: stringUrl!)
        openPageWithSession(url: url!)
    }
    

    和功能 openPageWithSession ,其中我使用

    func openPageWithSession(url: URL){
            let request = URLRequest(url: url)
            let ephemeralConfiguration = URLSessionConfiguration.ephemeral
            let ephemeralSession = URLSession(configuration: ephemeralConfiguration)
    
            let task = ephemeralSession.dataTask(with: request) { (data, response, error) in
                if error == nil {
                    self.webPage.loadRequest(request)
                } else {
                    print("ERROR: \(error)")
                }
    
            }
    
            task.resume()
    
        }
    

    加载网页没关系。但是如果我在Twitter上登录,然后我关闭了应用程序,如果我重新打开应用程序并再次浏览Twitter,我已经登录了!

    为什么?短暂会话在终止后是否无效?

    1 回复  |  直到 8 年前
        1
  •  1
  •   paulvs    8 年前

    根据上述评论。

    self.webPage.loadRequest(request) ,您应该使用:

    self.webView.load(data, mimeType: "text/html", textEncodingName: "", baseURL: url).
    

    这样,您将使用您创建的短暂会话。否则,您只是正常加载web视图,根本没有短暂的会话。