2015-01-20 4 views
1

Я работаю над приложением, которое использует извлечение фона для доступа к большому количеству RSS-каналов и проверки новых результатов. Я сделал все возможное, чтобы оптимизировать время синтаксического анализа, чтобы управлять как можно большим количеством каналов в окне 30 секунд, которое iOS дает вам для получения фоновой выборки.Последовательные запросы на выборку фона iOS 7

В случае, если у пользователя может быть 200+ RSS-каналов, эта операция будет занимать более 30 секунд -> что является лучшим способом преодолеть ограничение 30-х годов?

Есть ли способ создания методов последовательного запроса, например, хранения «номера запроса» в NSUserDefaults и принятия решения о том, что выбрать в это время.

Ex:

Fetch 0 = first 50 feeds, set the Fetch# to 1 on completion. 
Fetch 1 = second 50 feeds, set Fetch# to 2 on completion. 
etc, 

Является ли это единственный способ? Есть ли способ лучше?

Thanks

+0

Вы используете только запросы 'HEAD', или вы извлекаете данные и разбираете их? –

+0

@IanMacDonald Я извлекаю и анализирует данные, хочу обновить значок и локальное уведомление с количеством новых результатов в фидах. –

+1

Сначала вы должны выполнить запросы 'HEAD'; они намного дешевле и имеют «последнее обновление». После того, как вы найдете обновленные каналы, запросите только те, если вы хотите продолжить обработку. –

ответ

1

Это решение довольно умное и может работать.

Если бы я был на вашем месте, я бы делегировал задачу получения и разбора фидов на сервер в какой-либо cronjob, которая обновляет все каналы в системе с заданным интервалом, оставляя ваш клиент только для проверки того, в уже обработанном фиде есть обновления. Вы можете сохранить простую базу данных с фидами и дату последнего обновления, которое можно было бы проверить на основе информации о клиенте iphone.

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

+0

Хм, это интересно. У меня нет большого опыта работы с веб-разработчиком, я хотел бы сохранить все это на устройстве, если возможно, да. –

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