Я пытаюсь сделать HTTP-запрос по локальной сети на IP-адрес.Тем не менее, когда я вызываю dataTask, он фактически не делает запрос.Запросы в инет работают нормально.Я также попытался сделать запрос от HTTPBot, и он был успешным.
Вот код, который делает вызов:
let url = apiBaseUrl + "get_serial"
let urlObj = URL(string: url)
var urlRequest = URLRequest(url: urlObj!)
urlRequest.httpMethod = "GET"
urlRequest.cachePolicy = URLRequest.CachePolicy.reloadIgnoringCacheData
URLSession.shared.dataTask(with: urlObj!) { (data, response, error) in
guard let data = data else { return }
let serial = (String(data: data, encoding: .utf8))
onSuccess(serial ?? "")
}
URL-адрес правильно определен как http://192.168.0.50/get_serial
Я попытался пройти по нему, но после того, как он достиг URLSession.shared.dataTask больше ничего не делает.Я подозревал проблему с многопоточностью и пытался добавить задержку, а также пытался отправить dataTask из глобального потока, но ни одна из них не работала.Я также попытался разрешить произвольную загрузку в моем файле .plist и добавить этот IP в качестве домена исключения:
Я не уверен, что мне не хватает.