У меня есть пользовательский класс NSURLProtocol для предоставления тестовых данных, пока я экспериментирую с Alamofire, но, похоже, он не используется при выполнении запросов через метод запроса менеджера ,метод canInitWithRequest в пользовательском классе NSURLProtocol не запускается при использовании Alamofire
Этот запрос проходит через и возвращает результат только штрафом, но не вызывает canInitWithRequest:
NSURLProtocol.registerClass(DBDummyURLProtocol)
class MyURLRequestConvertible : URLRequestConvertible {
var URLRequest: NSURLRequest {
return NSURLRequest(URL: NSURL(scheme: "http", host: "cnn.com", path: "/")!)
}
}
var myURLRequestConvertible = MyURLRequestConvertible();
Manager.sharedInstance.request(myURLRequestConvertible)
Если я использую простой NSURLConnection, метод canInitWithRequest называется, как я ожидал:
NSURLProtocol.registerClass(DBDummyURLProtocol)
var request = NSURLRequest(URL: NSURL(scheme: "http", host: "cnn.com", path: "/")!)
NSURLConnection(request: request, delegate:nil, startImmediately:true)
Я что-то не так? Должно ли это работать с Alamofire?
стоит уточнить, что 'NSURLSession.shared' делает абсолютно уважать классы протокола зарегистрированных с помощью' RegisterClass (_ :) ' однако сеансы, созданные с использованием любых методов инициализации (т. е. не общего сеанса), нет. Последнее - то, что использует Alamofire, и поэтому игнорирует 'registerClass (_ :)'. – paulvs