WebView不会在iOS 9中加载非标准端口

时间:2017-05-12 01:51:39

标签: ios uiwebview

我正在尝试使用WebView在端口8100上加载网站。它是HTTPS。我没有控制权来改变它所服务的端口。

它在iOS 10的模拟器和设备上运行良好。它在运行iOS 9.3.5的iPad Mini上失败 - 我看到的只是空白屏幕。

我尝试在Info.plist中将“应用传输安全设置>允许任意加载”添加为“是”,但这并没有解决问题。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

在设置Allow Arbitrary Loads = YES时,还要在NSAppTransportSecurity下设置以下键:

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

答案 1 :(得分: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