@hhhttt

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

httpsのサイトであるにも関わらず、WKWebViewに表示できない

httpsのサイトであるにも関わらず、WKWebViewに表示できない

httpsのサイトであるにも関わらず、WKWebViewに表示できない場合があります。(画面が真っ白のまま、どれだけ待っても表示できません。)

他のサイトで調べたところ、リダイレクト先がhttpである場合は表示できないという話があったため、リダイレクトチェッカー(https://ohotuku.jp/redirect_checker/)
で調べてみましたが、そのサイトにリダイレクト自体がありませんでした。

一応、そのサイトのドメインをApp Transport Security SettingsのException Domainsに指定してみたりもしましたが、結果は変わりません。

Allow Arbitrary Loads in Web ContentをYESにするとそのサイトも表示されますが、それは非推奨であるため使いたくありません。

逆に、Allow Arbitrary Loads in Web ContentをYESにした上で、そのサイトのドメインをException Domainsに追加すると、そのサイトは表示されなくなります。(つまり、正常にAllow Arbitrary Loads in Web Contentの設定の逆になります。)
なので、恐らくそのサイトのドメイン自体は有効なものではないかと思っています。

表示できない際のエラーメッセージ

WebPageProxy::didFailProvisionalLoadForFrame: frameID = 3, domain = NSURLErrorDomain, code = -1200

webView表示部のソースコード

if let url: URL = URL(string: そのサイトのURL) {
    self.myWebView.load(URLRequest(url: url))
}

webView自体の使い方が間違っているのではと疑い、url部分のみ別サイトのものに差し替えてみたりもしましたが、その場合は表示できてしまいました。

原因が分からず困っています。どなたか、原因・解決法が思い当たる方はいらっしゃいませんでしょうか。

0 likes

1Answer

該当のサイトの証明書が、信頼できるCAで発行されていない(いわゆるオレオレ証明書)とか、署名アルゴリズムが非推奨とか、その他の理由で証明書が信用できないとされているのではないかと推測します。

直接ブラウザで該当のサイトにつないで、証明書を確認してみたらいかがでしょうか?

1Like

Your answer might help someone💌