Вызов API в applicationDidEnterBackground [дубликат]

Вот мой код:

Cell cell = row.createCell(2);
cell.setCellValue("SELECT");

//2 is the 2nd cell in my case
5
задан shallowThought 26 December 2016 в 14:43
поделиться

2 ответа

Существует функция iOS, называемая BackgroundFetch, которую вы можете настроить для

, регулярно загружает и обрабатывает небольшие объемы контента из сети

Вы можете настроить minimumBackgroundFetchInterval.

В отличие от упомянутой функции Android этот интервал не гарантируется.

ОС выполняет некоторую эвристику в черном ящике. Он вознаграждает вас за использование «разумного» (для ОС) времени процессора / энергопотребления, а также для частого использования пользователем. С другой стороны, вы получаете наказание за дренирование батареи, что еще хуже, если ваше приложение никогда не использовалось.

Смотрите: Документация по Apple


В качестве альтернативы, в зависимости от ваших потребностей, вы можете публиковать Silent (push) Notification всякий раз, когда данные пользователя изменяются на стороне сервера ,

Смотрите: Документация по Apple

7
ответ дан shallowThought 15 August 2018 в 17:31
поделиться
  • 1
    Что вы имеете в виду, вас наказывают? – Akash Rajput 9 January 2018 в 12:18
  • 2
    @AkashRajput Вы получаете наказание, получая меньше времени, т. Е. Фоновая выборка срабатывает реже. – shallowThought 9 January 2018 в 22:27
  • 3
    Для тех, кто недавно нашел этот пост, раздел, который вы хотите, называется «Приобретение небольших количеств контента оппортунически». в developer.apple.com/library/archive/documentation/iPhone/… – ekscrypto 8 August 2018 в 11:08

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

0
ответ дан Community 15 August 2018 в 17:31
поделиться
  • 1
    ВАУ! Вы серьезно относитесь к этому? Для меня это невероятно, что у меня нет такой возможности. Как насчет NSBackgroundActivityScheduler я нашел его в google, но в Swift 3.0 он не существует. – Mulgard 30 October 2016 в 12:41
  • 2
    Вы можете видеть из документации - developer.apple.com/reference/foundation/… - это NSBackgroundActivityScheduler для MacOS, а не для iOS. На iOS вам нужно использовать фоновый выбор или нагрузка на сервер – Paulw11 30 October 2016 в 13:44
  • 3
    Вы определенно можете посмотреть developer.apple.com/library/archive/documentation/iPhone/… в разделе под заголовком & quot; Извлечение малых объемов контента оппортунистически & quot; – ekscrypto 8 August 2018 в 11:07
  • 4
    @ekscrypto, хорошая точка зрения на оппортунистическую выборку данных, но это не соответствует требованию OPs для получения данных через регулярные интервалы. Вместо этого система решает, когда будет подходящее время для сбора данных (думаю, когда «сотовый» или «WiFi-соединение» загорается », и есть прямой доступ к Интернету). – Duncan C 8 August 2018 в 12:06
Другие вопросы по тегам:

Похожие вопросы: