Несколько раз, прежде чем я использовал метод...
NSURLResponse *response;
NSError *error;
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
для синхронной отправки/получения данных в NSOperation, и это сработало.
Сейчас я работаю над новым проектом (новый API, новый сервер), и ошибка просто не заполняется.
Я использую прокси-сервер Charles для отслеживания сетевого трафика и вижу, что «Код ответа 500, внутренняя ошибка сервера» возвращается из-за неудачного запроса в Charles, но в приложении объект ошибки всегда равен нулю.
Как я уже сказал, я использовал эту загрузку раньше, и ошибка всегда заполняется, если возникает ошибка.
Есть ли что-то на стороне сервера, на что я могу указать серверному разработчику? Он непреклонен, что я, должно быть, делаю что-то не так. Единственное, чего я не понимаю, так это того, что Чарльз получает от него код ответа 500.
Н.Б. Проблема не в том, что ошибка возникает. Проблема в том, что когда это происходит, объект NSError не сообщает мне об этом. Просто чтобы прояснить это на случай, если кто-нибудь скажет мне попросить разработчика сервера исправить ошибку. :-)