2012-04-14 4 views
13

Я разрабатываю приложение с пользовательским уровнем связи. Мои вспомогательные классы полагаются на NSURLConnection для обработки сообщений с бэкэнд.Почему NSURLConnection не достигает бэкэнда?

Я испытываю случайную ошибку, в которой запросы отправляются, но приложение не получает ответа с нашего сервера. Кроме того, тайм-аут NSURLConnection никогда не запускается.

Кроме того, когда приложение попадает в это состояние, Mixpanel (структура трекера) регистрирует ошибку подключения, а также TestFlight.

Если вы убьете приложение и запустите Safari, вы все равно сможете достичь google.com.

В настоящее время наше приложение не поддерживает многозадачность. Тем не менее, мы обнаружили, что TestFlight заставляет приложение «не получать».

Возможно ли, что из-за этого побочного эффекта библиотеки TF приложение переходит в несогласованное состояние ... в котором любое исходящее соединение не работает ?.

У кого-нибудь возникла проблема?

Спасибо заранее!

...

Как примечание стороны, я хотел бы добавить, что бэкенд был проверен уже (размещен на Амазонке), и кажется, что все просто ОК.

=======

EDIT:

TestFlight ребята только что подтвердили, что эта ошибка вызвана их библиотеки (я имею его с TF 1,0 бета-версия).

+0

вы можете доказать, на стороне сервера, что ответ посылаются? – danh

+0

Это ОЧЕНЬ случайная ошибка. Я провел 6 часов с Charles Proxy между ними и не смог его запустить. До сих пор я единственный намек на то, что Mixpanel AND TestFlight регистрирует ошибку подключения. –

+0

Как вы отправляете NSURLConnection, sync или async? Вы звоните из основного потока, фонового потока или NSOperation или чего-то еще? –

ответ

8

Существует подтвержденная ошибка с TestFlight SDK (1.0 и старше), что приводит к тому, что NSURLConnection никогда не возвращает никаких асинхронных обратных вызовов (ошибка успеха/таймаута).

+0

Спасибо Эрик !. Вы помните, где вы его видели? –

+0

Нашел !. Вы знаете ... форумы Apple находятся под NDA, поэтому я не уверен, могу ли я или не могу ничего опубликовать. Но я просто скажу ... найти сообщение с названием «NSURLConnection случайным образом перестает работать до перезагрузки приложения». У меня была точно такая же проблема. Благодаря! –

+0

Есть ли способ следить за официальным сообщением об ошибке для этого на сайте TestFlight? –

0

Более подробная информация об этой проблеме здесь: https://github.com/AFNetworking/AFNetworking/issues/307, http://blog.applecorelabs.com/2012/05/29/bug-llvm-optimizer-asihttprequest-arc/

+0

Извините, это не связано с моим сбоем. Я не использовал AFNetworking. Плюс я не использую ARC, поскольку приложение было настроено на iOS 4 или выше. –

+0

Если вы читаете поток в github, не все используют AFNetworking, но все же испытывают ту же проблему – toucan

Смежные вопросы