

下記のように、githubAPIにGETリクエストをするという簡単なコードを書いた。

[code]

    import Foundation
    
    let url = URL(string: "https://api.github.com/users/(伏字)")!
    let get = URLSession.shared.dataTask(with: url,completionHandler: { data, response,error in
        if let error = error {
            print(error.localizedDescription)
            return
        }
    
        guard let data = data,
              let response = response as? HTTPURLResponse else {
            print("data or response is nil")
            return
        }
    
        if response.statusCode == 200 {
            print(String(data: data, encoding: .utf8))
        } else {
            print("statusCode: \(response.statusCode)")
        }
    })
    
    get.resume()
    
[/code]

このコードをPlaygroundで実行した時は、正常に取得した値が返ってくるが、Projectを作成するときにCommandLineToolを選択していると、エラーなく実行されるが値が何も返ってこない。(getできていないとしても、何かPrintされるはずだが、「program
ended with exit code: 0」と表示されるのみ。)解決策お願いします。

Xcode 13.3  
macOS 12.3.1


CC BY-SA 4.0
2022-04-03T09:36:41.257
88149
2022-04-04T00:24:21.180
2022-04-03T13:04:44.290
47109
47109
question
swift xcode https
Xcodeにおいて、Playgroundでは動くコードがCommandLineToolプロジェクトでは正常に実行されない。


以下を最後の行に追加するとプログラムが終了しなくなり、非同期のものも実行が確認できます。

[code]

    RunLoop.main.run()
    
[/code]


CC BY-SA 4.0
2022-04-04T00:24:21.180
88154
2022-04-04T00:24:21.180
40856
88149
answer