В идеале, все сетевое взаимодействие приложения проходит через одну точку. Закомментировав соответствующий код или создав фиктивную ошибку, довольно просто сделать так, чтобы все ответы истекли.
[[session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
// if (error) {
if (self.delegate) {
[self.delegate networkError: error];
}
// } else {
Я нахожу это достаточно хорошим для реального развития. Это быстро и дешево, даже если немного грязно, и позволяет продолжать работу без хлопот постоянного переключения WiFi. После успешного включения даже довольно специфичные сценарии легко симулировать.
Когда работа будет завершена, хорошей идеей будет отключение MacOS WiFi для окончательного тестирования.