簡體   English   中英

為什么我在Xcode命令行應用程序中沒有收到來自URL請求的響應

[英]Why do I get no response from a URL Request in an Xcode Command-Line Application

我在使用swift的Xcode中遇到問題。 我試圖在Swift中使用URL請求從網頁獲取數據。 在dataTask的完成處理程序中,我嘗試打印數據。 在info.plist文件中啟用任意加載后,這在可可應用程序中可以正常工作。 但是,當我嘗試在命令行應用程序中執行相同的操作時,似乎完成處理程序什么也不做。 航站樓建成后甚至沒有出現。 有人可以告訴我我所缺少的嗎?

創建一個信號量以阻止當前線程。 等待URL會話結束。 從完成處理程序發出信號量。

您的命令行實用程序很可能提前完成。 為避免這種情況,有幾種不同的可能性。 一種最常見的用法,它永遠不會返回,並且應該“以編程方式”停止命令行實用程序

將其放在main.swift中並嘗試:-)

import Foundation

print("----------- init request -----------")
DispatchQueue.main.async {
    if let url = URL(string: "https://code-maven.com/try/examples/html/hello_world_html5.html") {
        do {
            let contents = try String(contentsOf: url)
            print(contents)
        } catch {
            fatalError("contents could not be loaded")
        }
        exit(0)
    } else {
        fatalError("the URL was bad!")
    }
}
print("---------- continue execution ------")
dispatchMain()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM