Как заставить приложение iOS работать в фоновом режиме более 3 минут? - PullRequest
0 голосов
/ 20 ноября 2019

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

Мне нужно иметь возможность работать вфон, потому что мое приложение подключено к внешнему устройству через TCP. Я уже знаю о хакерских атаках, которые вы можете выполнять с помощью VOIP и при воспроизведении тихого звука (оба будут отклонять ваше приложение).

Могу ли я что-нибудь сделать, чтобы приложение продолжало работать в фоновом режиме более 3 минут

1 Ответ

3 голосов
/ 20 ноября 2019

Прошло 3 минуты в течение многих лет (начиная с iOS 7?), Так что со всеми практическими целями и задачами старое 10-минутное окно просто больше не применимо. Короткий ответ на ваш вопрос заключается в том, что вы не можете отправлять приложения в магазин, которые работают в фоновом режиме более 3 минут, если это не один из очень ограниченных списков разрешенных фоновых режимов.

Если вы можете перейти кНа вкладке «Подписи и возможности» вашей цели добавьте «Режимы фона», и вы увидите список альтернатив:

enter image description here

Итак, с оговоркойчто вы не можете сделать в точности то, что вы просили, вот несколько замечаний:

  1. Фоновый режим «Внешняя дополнительная связь» (см. ExternalAccessory ) выглядит многообещающим, но этотолько для Bluetooth или проводных подключений. Так что, если вы не можете изменить или реорганизовать то, как ваши устройства взаимодействуют, это, вероятно, не является жизнеспособным решением.

  2. Возникает интересный вопрос о том, может ли помочь поддержание запущенного приложения на переднем плане (например, разумное использование idleTimerDisabled). Я знаю, что это решает другую проблему (и ее следует использовать только там, где это необходимо), но, возможно, это вариант для вас.

  3. Если ваше внешнее устройство подключено к Интернету и вы хотите, чтобы оно сообщалоприложение какого-либо события, возможно, вы можете заставить его сообщить свое намерение какой-то веб-службе, которая затем запускает push-уведомление APNS, которое может получить ваше устройство.

В итоге вы не можетеделайте то, что вы спрашиваете, но если вы отредактируете свой вопрос с более подробной информацией о природе устройства и о том, что ваше приложение iOS хочет сделать с этим устройством, мы могли бы предоставить вам более качественную консультацию. Но в ответ на общий вопрос «могу ли я просто продолжать работать приложение в фоновом режиме», ответ «нет».

...