Здравствуйте. Подскажите пожалуйста, как реализовать возможность работы определенной функции приложения (например проверку количества новых сообщений и вывод нового уведомления) в фоновом режиме на Swift 3? Чтобы данная функция работала не просто когда приложение свернуто, но и когда оно даже не запущено. Разбирался с Background Fetch но интервал там задается вообще непонятный, функция то выполняется, то нет. К тому же не уверен что он будет работать когда приложение даже не запущено. Прошу вас направить меня в нужное русло и поделиться подробным мануалом, спасибо.
У iOS приложений весьма жесткий подход к background режиму. Для ваших задач действительно подходит Background fetch. Однако есть 2 момента:
1. система сама выбирает переодичность запуска приложения. Вы можете повлиять на ее "предпочтения", делая запрос как можно быстрее, и возвращая сообщение, что вы скачали новые данные.
2. приложение, которое пользователь убил руками (выкинул из трея) не будет запускаться для фетча совсем.
Из-за всего этого, правильный подход - когда сервер оповещает приложение по средствам пушей, а не приложение само проверяет данные.