vaporを使用したapiを作る前にクライアント側で、どのようにコードを書いたらいいか調べた際に下記のコードが動作しませんでした。なぜ、動作しないのでしょうか?
これだと、helloの表示が最低限あると思うのですがどうでしょうか?
エラーなどもありません。
環境
Xcode 13.1(コマンドラインです。)
swift
1 2import Foundation 3 4let url = URL(string: "https://www.google.co.jp")! 5 6var request = URLRequest(url: url) 7 8let task = URLSession.shared.dataTask(with: request) { data, resp, err in 9 10 // ここさえも呼ばれない 11 print("hello") 12 13 if let resp = resp as? HTTPURLResponse{ 14 print(resp.statusCode) 15 } 16 17} 18 19task.resume() 20
以下について追記して頂けたら、正確なコメントが付きやすくなるかもしれません。
(Xcode12.5.1 の環境で提示されたコードをPlayground上で実行したら、問題なくログ出力されたので疑問に思いました)
・提示されたコードは「https」となっていますが、"s"付きでも動作しないのでしょうか?
・何かエラーログなども表示されてないのでしょうか?
・動作させている環境は何になりますか?(バージョンや、Playgroundなのか、通常のViewControllerなのか)
私の方でもPlaygroundでは動作しています。
コマンドラインで実行する場合、結果が返ってくる前にプログラムが終了してしまうので、RunLoop.main.run() とか、何らかの方法で待つ必要があるかと。
https://stackoverflow.com/questions/31944011/how-to-prevent-a-command-line-tool-from-exiting-before-asynchronous-operation-co
あなたの回答
tips
プレビュー