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