Alamofire InvalidURL в быстром - PullRequest
0 голосов
/ 06 декабря 2018

я пытаюсь получить данные из API, используя alamofire, и это дает мне invaildURL ("http://tdlly.com/Api/Advertisements/1/18") Я пытался закодировать URL, но также не работает, это мой код

 class func nearAds(completion: @escaping(_ error: Error?, _ data:[Ad]?)->Void) {
    let url = URLs.nearAds+"\(helper.getApiToken())"
    //let s  = url.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
    Alamofire.request(url, method: .get, parameters: nil, encoding: URLEncoding.default , headers: nil).responseJSON { (response) in

        switch response.result
        {
        case.failure(let error):
            completion(error,nil)
            print("error for nearAds",error)
        case.success(let value):
            let json = JSON(value)
            print("near,\(json)")
            guard let dataArr = json.array else{
                completion(nil , nil)
                return
            }
            var ads = [Ad]()
            for data in dataArr {
                if let data = data.dictionary ,let result = Ad.init(dic: data) {
                    ads.append(result)
                }
            }
            completion(nil,ads)
        }
    }
}

1 Ответ

0 голосов
/ 06 декабря 2018

Попробуйте добавить протокол http в строку.Так, например, ваша ссылка будет выглядеть как http://tdlly.com/Api/Advertisements/1/18

, если вы уже сделали это, пожалуйста, покажите скриншот отладочной печати (po url) после строки

let url = URLs.nearAds+"\(helper.getApiToken())"

и убедитесь, что вы включили NSExceptionAllowsInsecureHTTPLoads in Info.plist

отметьте здесь Безопасность транспорта заблокировала открытый текст HTTP

...