私たちの顧客は最近WebViewからWKWebViewへの切り替えを依頼しました。彼らのアプリはネイティブログインを使用しています。これはバックエンドへの2回のPOST呼び出しによって行われ、その後、さまざまな認可Cookieが返され、その後、すべてのHTTP/AJAX呼び出しで使用されます。WKWebView AJAXがクッキーを失うように呼びます
WebViewでは、1行のカスタムコードを実装する必要がなく、すべてが魅力的でした。ユーザーはログインしていて、クッキーはデフォルトでCookieストレージに保存されていました.WebViewはNSURLSessionとWebViewの間でHTTPCookieStorageが共有されていたので、常にそこから取得して使用しました。
WKWebViewを使った全く新しい話です。 WebViewをWKWebViewに切り替えると、承認が機能していないことがわかりました。それはWKWebViewでいくつかのクッキーを失うためでした。 NSURLSessionレスポンスのクッキーを保存し、WKWebViewにHTTPリクエストに「Cookie」ヘッダーを追加して手動で追加します。
このようにHTTPコールの承認を取得することができましたが、今は新しい問題が発生しています。どういうわけか、WKWebViewで行われたすべてのAJAX呼び出しで許可Cookieが失われます。
何とかAJAX通話に承認クッキーが表示されるようになる方法があるかどうかご存知ですか?
javascriptCookieString = @"document.cookie = 'testCookie=testValue';";
[self.webView evaluateJavaScript:javascriptCookieString completionHandler:nil];
ではJavaScriptを注入することは動作しませんでしたし、一切のJavascriptに対する制御がコールされていないように思えるので、それらが実行される前に、私は要求を変更することはできません。ありがとうございました。