Можно ли использовать Bluetooth с многозадачностью iOS? - PullRequest
1 голос
/ 27 апреля 2011

Я думаю, что ответ на этот вопрос - нет, но кто-нибудь знает, можно ли поддерживать соединение Bluetooth в фоновом режиме с iOS? Я думаю, что смогу сохранить его с помощью фонового API конечных задач, но я не нашел ничего, что указывало бы, правда это или нет. Другой вариант - использовать GPS-уведомления и просто переподключаться каждый раз, когда приложение получает уведомление об изменении местоположения.

Ответы [ 4 ]

0 голосов
/ 03 сентября 2014

Если вы используете iBeacons, есть встроенные API для обработки, когда вы входите / выходите из области маяка, и вы обычно получаете ~ 5 секунд для диапазона для маяков в этой точке, прежде чем приложение будет переведено в спящий режим. Теоретически, вы можете запустить фоновую задачу с обработчиком истечения, который может позволить вам работать в течение ~ 30 секунд, пока он находится в фоновом режиме, но я не проверял, что это так. Я знаю, что фоновая задача может быть запущена, когда обычные CLRegions вводятся / выходятся в фоновом режиме, и функционально нет никакой разницы между CLRegions и CLBeaconRegions с точки зрения мониторинга региона, поэтому, если бы мне пришлось угадывать, я бы сказал, что это больше возможно больше.

0 голосов
/ 27 апреля 2011

Я думаю, что соединение Bluetooth должно быть сохранено, но если ваше приложение Bluetooth не является приложением переднего плана, оно не будет получать никаких данных / команд, когда оно становится передним планом, оно будет.

0 голосов
/ 03 сентября 2014

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

Для диапазона для iBeacons используется высокийPower API и так далее, он запускается только тогда, когда приложение находится на переднем плане, и останавливает вызов всех делегатов, как только приложение входит в фоновый режим.

Воспроизводя аудиофайл без звука и добавляя возможность AirPlay к вашему.plist позволяет вашему приложению работать в фоновом режиме так же, как если бы оно было на переднем плане.

Я не уверен, будет ли это работать для вашего случая, но iBeacons действительно используют Core Bluetooth и Core Locationфреймворки могут просто делать то, что вы просите.

http://yifan.lu/2013/12/17/unlimited-backgrounding-on-ios/

Обратите внимание, что хотя этот трюк не был исправлен Apple в iOS8 бета 5, возможно, они будут в обновлении.

0 голосов
/ 27 апреля 2011

Ты права. Это НЕТ. Но если вы используете уведомление об изменении местоположения, чтобы разбудить свое приложение, у вас может быть короткий период времени для использования Bluetooth.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...