То, что вы предлагаете, невозможно iOS. С самого начала приложения не могли работать в фоновом режиме с открытым сокетом.
Обоснование состоит в том, что при этом радиоинтерфейсы устройства остаются включенными и потребляют значительное количество энергии. Если вы можете реализовать это на Android, у него точно такие же проблемы.
Из вопроса, какую проблему вы пытаетесь решить, неясно: только выбранные вами средства реализации.
Доступны следующие параметры:
Ссылка на фоновое приложение sh
Ссылка на фоновое приложение sh предназначена для приложений, для которых требуется периодический фон -refre sh содержание.
Ваше приложение просыпается на короткий промежуток времени (ISTR 15s
) в то время, когда хватает времени работы от батареи и возможности подключения, чтобы выполнить любое действие, которое ему необходимо предпринять.
Нет никаких гарантий , что вас разбудят или при . На практике самое большее, что вы можете ожидать, это каждые 15m
, но часто бывают длинные промежутки, возможно, вызванные «не беспокоить» и поведением пользователя.
URLSession
URLSession
может быть передано iOS в фоновом режиме - предназначено специально для загрузки большого элемента контента.
Apple Pu sh Служба уведомлений
APNS может использоваться для пробуждения вашего приложения (или, скорее, AppExtension). Вам необходимо периодически отправлять уведомления.
Опять же, нет никаких гарантий относительно доставки (прерывистое подключение). Реально, iOS необходимо периодически просыпаться и включать радиоинтерфейс, чтобы получать их - как и когда это происходит - блок-блок.
Промежуточное программное обеспечение
Промежуточное программное обеспечение, такое как Firebase может использовать комбинацию вышеуказанных технологий и Websockets для достижения синхронизации.