9

同じサイトの複数のアカウントを別のアカウントにログインしたいwebView。たとえば、Tab Bar Controller3つのView Controllerが含まれており、各View ControllerにはwebView. たとえば、すべてのクラスにstackoverflowURL を埋め込みます。webViewこれら3つを使用して、ユーザーが同時に異なるアカウントにログインするにはどうすればよいwebViewですか? これを試してみましたが、一度に 1 人のユーザーしかログインできません。私はcookieごとUIWebViewに個別に作成する必要があることを発見しましたが、ほとんどの回答はobjective-cにあり、私が望む適切な回答ではありません。たとえば ( First Second Third ) どうすればできるか教えてもらえますか?

class FirstViewController: UIViewController , UIWebViewDelegate{

    @IBOutlet weak var webView: UIWebView!
    @IBOutlet weak var activityIndicator: UIActivityIndicatorView!

    override func viewDidLoad() {
        webView.delegate = self
        let requestURL = NSURL(string: "http://stackoverflow.com")
        let request = NSURLRequest(URL: requestURL!)
        activityIndicator.hidesWhenStopped = true
        activityIndicator.startAnimating()
        webView.loadRequest(request)

    }
       func webViewDidFinishLoad(webView: UIWebView) {
        activityIndicator.stopAnimating()
    }

}

class SecondViewController: UIViewController, UIWebViewDelegate{

    @IBOutlet weak var webView: UIWebView!
    @IBOutlet weak var activityIndicator: UIActivityIndicatorView!

    override func viewDidLoad() {
        webView.delegate = self
        let requestURL = NSURL(string: "http://stackoverflow.com")
        let request = NSURLRequest(URL: requestURL!)
        activityIndicator.hidesWhenStopped = true
        activityIndicator.startAnimating()
        webView.loadRequest(request)

    }
        func webViewDidFinishLoad(webView: UIWebView) {
        activityIndicator.stopAnimating()
    }


}

ありがとう

実行中のコードのプレビュー。

4

1 に答える 1

10

WKWebViewのさまざまなインスタンスを使用してこれを行うことができますWKWebSiteDataStore

let configuration1 = WKWebViewConfiguration()
configuration1.websiteDataStore = WKWebsiteDataStore.nonPersistent()
self.webView1 = WKWebView(frame: CGRect.zero, configuration: configuration1)
self.view.addSubview(self.webView1)

let configuration2 = WKWebViewConfiguration()
configuration2.websiteDataStore = WKWebsiteDataStore.nonPersistent()
self.webView2 = WKWebView(frame: CGRect.zero, configuration: configuration2)

残念ながら、非永続ストアはディスクに保存できないwebViewため、アプリの再起動後にデータ (Cookie、キャッシュなど)が失われます ( が実装されていることに気付くかもしれませんが、非永続ストアでは機能しません)。WKWebsiteDataStoreWKWebsiteDataStoreNSCoding

于 2016-08-24T14:04:36.890 に答える