iOS - 临时 session 和 UIWebView

标签 ios swift uiwebview nsurlsession

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

确实是临时 session ,因为如果我在 Twitter/FB/任何网站上登录,我不想存储 session 。

所以,我有一个名为 webPageUIWebView

@IBOutlet var webPage: UIWebView!

一个 UITextField,我可以在其中写入 URL

@IBOutlet var urlField: UITextField!

在这个文本字段旁边,我有一个UIButton,它实现了这个 Action

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

和函数 openPageWithSession,我在其中使用了临时 session

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,我就已经登录了!

为什么?临时 session 在被杀死后不会失效?

最佳答案

来自上面的评论。

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

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

这样您就可以使用您创建的临时 session 。否则,您只是正常加载 WebView ,根本没有短暂的 session 。

关于iOS - 临时 session 和 UIWebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45149269/

相关文章:

ios - 火力地堡分析 : No data reflection on "Audiences" tab

ios - swift 和 firebase 中整数不加 1

swift - URL session 问题

iphone - 你能改变 UIScrollView 滚动的灵敏度吗?

html - Swift:无法在 webView 中加载 HTML

ios - 如何绑定(bind) Realm 对象的变化?

ios - 带有内容框架更新关闭的 SwiftUI ScrollView

ios - 在导航栏中为嵌入式 UISearchbar 设置色调颜色

ios - 仅删除 firebase 中的对象(如果该对象未出现在另一个对象中)

ios - UIWebview 没有加载正确的本地化版本的网站