Я реализовал подкласс NSURLProtocol. Мне нужно, чтобы он издевался над ответами URL-адресов для модульного теста. Я зарегистрировал свой класс в методе setUp модульного теста.
- (void)setUp
{
[NSURLProtocol registerClass:[RDMockResponseURLProtocol class]];
[DSMockResponseURLProtocol.mockResponses setObject:[self bigFileResponse]
forKey:[self bigFileURL]];
<...>
}
Я переопределил метод класса canInitWithRequest: NSURLProtocol и другие его методы, которые необходимо переопределить.
@implementation DSMockResponseURLProtocol
<...>
+ (BOOL)canInitWithRequest:(NSURLRequest *)request {
return [DSMockResponseURLProtocol.mockResponses.allKeys containsObject:request.URL];
}
К сожалению, canInitWithRequest: не вызывается.
Я использую NSURLSession, настроенный на продолжение задач в фоновом режиме. Разве это не вызывает проблему?
sessionConfiguration = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:identifier];
Пожалуйста, поделитесь со мной любыми идеями, которые у вас есть! Заранее спасибо [Поклон]