[swift-users] Am I missing something on how the Package Manager works?

Tatsuyuki Kobayashi childhoodend.tk at gmail.com
Mon Aug 21 03:46:59 CDT 2017


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 at 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 at swift.org
> https://lists.swift.org/mailman/listinfo/swift-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20170821/36f8c52b/attachment.html>


More information about the swift-users mailing list