Swift package manager


#1

Всем привет!

Помогите разобраться со SwiftPM. В чем суть проблемы: необходимо в терминале создать http запрос, и вывести ответ. Программу написал, запрос вроде бы уходит, но терминал не ждет ответа, а сразу запрашивает новую команду.


#2

RunLoop запустите:

URLSession.shared.dataTask(with: URL(string: "https://swiftbook.ru")!) { data, _, _ in
    let str = data.flatMap { String(data: $0, encoding: .utf8) } ?? "Empty"
    print(str)
    CFRunLoopStop(RunLoop.main.getCFRunLoop())
}.resume()

RunLoop.main.run()

Или просто while:

var isRunning = true

URLSession.shared.dataTask(with: URL(string: "https://swiftbook.ru")!) { data, _, _ in
    let str = data.flatMap { String(data: $0, encoding: .utf8) } ?? "Empty"
    print(str)
    isRunning = false
}.resume()

while isRunning {}

#3

спасибо)) теперь все работает как надо))