мое приложение для iPad убивает вайфай пока не сворачивается - PullRequest
0 голосов
/ 21 марта 2012

У нас есть приложение для iPad, предназначенное для загрузки данных, которые пользователь может прочитать, когда он больше не подключен к Wi-Fi.Когда он загружается, он получает тысячи PDF-файлов.Иногда во время тестирования извлечения я сталкиваюсь со следующим поведением:

  1. Начало загрузки PDF-файлов
  2. В какой-то момент соединение Wi-Fi прерывается, даже если маршрутизатор все еще работает и другие продолжаютиспользовать его (я 12 'от маршрутизатора).NSURLConnection вызывает didFailWithError с ошибкой NSURLErrorNotConnectedToInternet или NSURLErrorNetworkConnectionLost, а индикатор Wi-Fi в верхнем левом углу исчезает.
  3. Как только я сверну приложение (сразу или через часпозже) снова появляется индикатор Wi-Fi.
  4. Восстановите приложение, начните загрузку снова - без проблем.

Есть ли какая-либо функция iOS, которая предотвращает слишком большую загрузку?Есть ли какой-нибудь метод, который я могу вызвать, чтобы предотвратить это?

Эта проблема (http://stackoverflow.com/questions/8121526/wifi-drops-in-ipod-after-a-while-running-my-application) связана с аналогичной проблемой и указывает на флаг UIRequiresPersistentWiFi (см. http://developer.apple.com/library/ios/documentation/general/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW12). Проблема в том, чтоПриложение специально разработано, чтобы не требовать постоянного Wi-Fi.

Несколько других плюсов:

  • Запуск iOS 5.1 на iPad2. (Не знаю, происходит ли это на другихверсии.)
  • Я не могу изменить приложение, чтобы загрузить один большой ZIP-файл со всеми PDF-файлами; это требование к продукту, которое имеет смысл.
  • NSURLConnections создается из фонового потока с5 активных подключений одновременно.

1 Ответ

3 голосов
/ 01 мая 2012

Я могу подтвердить, что у iOS 5.1 есть проблемы с поддержанием соединения Wi-Fi. По всему миру есть много сообщений на форуме об этом, но вот мои доказательства:

У нас есть 6 iPad 2, установленных в музейной галерее. 3 работают 5.1 и 3 работают 5.0.1. 3 iPad под управлением 5.1 постоянно отключаются от точки доступа. У 3 работающих 5.0.1 проблем нет, и проблем не было уже несколько недель. Они работают с тем же приложением, в той же сети, где больше ничего не установлено, и применяются идентичные настройки. Я возвращаюсь назад и отправляю уведомление об этом Apple. Я верну все iPad на 5.0.1.

Примечание. Я - ИТ-специалист, и вместе с нашим системным администратором мы исключили все проблемы, связанные с внутренней сетью, точками доступа и подключением через множество устройств. Проблемы возникают только на устройствах под управлением 5.1 (как на iPhone, так и на iPad).

РЕДАКТИРОВАТЬ: Понижение рейтинга больше невозможно. Один раз на 5.1, застрял на 5.1. Я нашел ссылку на кого-то, кто тоже имеет эту проблему и решает ее, добавив строку в список приложений. Под вспомогательными файлами перейдите к plist-файлу вашего приложения и добавьте следующую строку: Application uses Wi-Fi YES. Очевидно, iPad был разработан для отключения адаптера Wi-Fi после 30 минут бездействия пользователя (я проверил и подтвердил, что это точно). Бездействие - это отсутствие физической активности, а не отсутствие данных. Предположительно добавление этой строки отменяет это, если приложение открыто. Мне еще предстоит это проверить, но я буду, как только у меня будет длительный период времени, опробовать его. 5.0.1 (и, возможно, несколько более ранних версий), возможно, "сломали" эту функцию экономии заряда батареи. И, в свою очередь, 5.1, возможно, "устранил" проблему не выключения Wi-Fi для экономии заряда батареи. Я вижу это как перерыв из-за моего приложения, но кто знает.

...