首页 > 解决方案 > Swift 4:在 iOS 应用程序中加载网页内容时出错

问题描述

我在 Xcode 9 中创建的应用程序需要加载网页内容,所以我按照如何从网站 URL 加载字符串中建议的代码

    if let url = URL(string: "https://flightplanning.navcanada.ca/cgi-bin/Fore-obs/notam.cgi?ni_FIR=on&Stations=CZEG") {
    do {
        let contents = try String(contentsOf: url)
        print(contents)
    } catch {
        // contents could not be loaded
    }
} else {
    // the URL was bad!
}

从其他各种线程来看,info.plist 文件似乎有问题,因此按照这些建议,我在 info.plist 中添加了以下条目: info.plist added entries

在 info.plist 文件中看起来像这样:

    <key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <false/>
    <key>NSExceptionDomains</key>
    <dict>
        <key>flightplanning.navcanada.ca</key>
        <dict/>
        <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
        <true/>
        <key>NSIncludesSubdomains</key>
        <true/>
    </dict>
</dict>

返回的错误:

SSL_ERROR_SSL(1): operation failed within the library
SSLV3_ALERT_HANDSHAKE_FAILURE:/BuildRoot/Library/Caches/com.apple.xbs/Sources/boringssl_Sim/boringssl-109.50.14/ssl/tls_record.c:547:SSL alert number 40
HANDSHAKE_FAILURE_ON_CLIENT_HELLO
Function boringssl_context_get_os_status: line 4268 SSL_AD_HANDSHAKE_FAILURE
TIC TCP Conn Failed
NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9824)
Task <AB92C36B-6E8A-42E5-9C3E-73AF6E258F43>.<0> HTTP load failed (error code: -1200 [3:-9824])
NSURLConnection finished with error - code -1200

任何纠正建议将不胜感激。

标签: loadswift4webpage

解决方案


推荐阅读