I think your process terminates immediately after calling ‘task.resume()’.

You can find the same issue at 
https://stackoverflow.com/questions/31944011/how-to-prevent-a-command-line-tool-from-exiting-before-asynchronous-operation-co
 
<https://stackoverflow.com/questions/31944011/how-to-prevent-a-command-line-tool-from-exiting-before-asynchronous-operation-co>.


> 2017/08/21 14:55、Daryle Walker via swift-users <swift-users@swift.org>のメール:
> 
> I’ve tried to make a command-line program with the Swift Package Manager, and 
> use Foundation for networking (on macOS):
> 
> import Foundation
> import Commander
> import HeliumLogger
> import LoggerAPI
> 
> enum ReturnCode: Int32 {
>     case badUrlString = 10, retrievalError
> }
> HeliumLogger.use()
> let main = command { (urlArgument: String) in
>     guard let url = URL(string: urlArgument) else {
>         Log.error("Argument \"\(urlArgument)\" cannot be converted to a URL.")
>         exit(ReturnCode.badUrlString.rawValue)
>     }
>     let session = URLSession(configuration: .ephemeral)
>     let task = session.dataTask(with: url, completionHandler: { (data, 
> response, error) in
>         if let error = error {
>             Log.error("Retrieval Error: \(error)")
>             exit(ReturnCode.retrievalError.rawValue)
>         }
>         guard let data = data else {
>             print("(no data)")
>             return
>         }
>         print(data.base64EncodedString())
>         print("Hi there")
>     })
>     print("Hello world")
>     task.resume()
> }
> main.run()
> 
> All I got from “swift build” and the Xcode project it made for me is just the 
> “Hello world” message. The task block was ignored. Did I get calling it wrong?
> 
> — 
> Daryle Walker
> Mac, Internet, and Video Game Junkie
> darylew AT mac DOT com 
> 
> _______________________________________________
> swift-users mailing list
> swift-users@swift.org
> https://lists.swift.org/mailman/listinfo/swift-users

_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to