2017-05-12 4 views
1

WebViewを使用してポート8100にWebサイトをロードしようとしています。それはHTTPSです。私はそれが提供されているポートを変更するコントロールがありません。WebViewがiOS 9の非標準ポートをロードしない

シミュレータとiOS 10のデバイスで正常に読み込まれます.iOS 9.3.5を実行しているiPad Miniでエラーが発生しました。白い画面が表示されます。

Info.plistで「App Transportセキュリティ設定>任意の負荷を許可」を追加しようとしましたが、修正されませんでした。

アイデア?

+0

ipad miniで最初にSafariで開こうとします。ネットワークは同じではありません。 – codester

+0

私は証明書の警告を "サーバーのIDを確認できません"を取得 - "信頼"をSafariで動作した後 - 私は証明書を修正する以外に簡単な回避策はないと思いますか? –

+0

ios 9.0以上ATSがhttps接続を強制する場合は、証明書を修正するか、アプリのInfo.plistファイルにドメインを追加する必要があります(承認プロセスがブロックされるかどうかはわかりません)。 –

答えて

0

あなたはNSAppTransportSecurityAllow Arbitrary Loads = YESも設定し、次のキーのように:あなたのクラスでは、以下の//

書き込み:

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
    <key>NSAllowsArbitraryLoadsInWebContent</key> 
    <true/> 
</dict> 
0

をあなたは、HTTPSをヒットしているとして、証明書を信頼する必要があります。デバッグ目的のために、これを本番環境でリリースしないでください。

//Swift 
extension NSURLRequest { 
    static func allowsAnyHTTPSCertificate(forHost host: String) -> Bool { 
     return true 
    } 
} 

//Objc 

@implementation NSURLRequest (NSURLRequestWithIgnoreSSL) 

+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host 
{ 
    return YES; 
} 

@end 
関連する問題