Я разрабатываю приложение, которое связывается с локальным веб-сервером и получает данные от него (через WebSockets или HTTP) без использования интернет-соединения.
Поэтому мне нужно найти способ получения push-уведомлений с сервера без использования службы Apple Push-уведомлений, даже если iPhone находится в режиме ожидания, поэтому уведомления отображаются на Apple Watch. Например, моя идея состоит в том, чтобы отправить данные с сервера клиенту iPhone, а затем создать уведомление локально. Для этого мне нужно запустить приложение в фоновом режиме, но режимы, которые я нашел, не могут мне помочь.
- Запустите произвольный фрагмент кода: я могу запустить приложение в течение максимум 3 минут в фоновом режиме посленапример, нажав Home. Мне нужно, чтобы приложение выполнялось в фоновом режиме "навсегда", если это возможно, чтобы получать данные с сервера и обрабатывать их.
-Подбор фоновой информации: этот режим не надежен, потому что я не могу контролировать, когда мой кодвыполняется, но iOS решает, основываясь на поведении пользователя и других условиях.
Я читал о Silent Push-уведомлениях, VOIP (PushKit), но я не понял, нужны ли вам APN для их работы.
Также эта статья описывает Silent Push-уведомления? https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_background_updates_to_your_app#see-also
Если да, то я не могу использовать Silent Push-уведомления более 2/3 раз в час, плюс это считается низким приоритетом, ненадежным ...
Здесь говорится, чтоиз iOS13 я больше не могу использовать режим VOIP для не VOIP-приложений: Могу ли я использовать PushKit, чтобы выполнять обычные push-сообщения без использования VoIP? Позволит ли оно запускать убитое приложение в фоновом режиме, если пользователь не действует по уведомлению?
Существуют ли способы обойти APN, если вы не можете получить доступ к Интернету, и запустить приложение в фоновом режиме? на событие?
Спасибо:)