Могу ли я обнаружить другие устройства iOS через Bluetooth в фоновом режиме? - PullRequest
3 голосов
/ 17 ноября 2010

Я хотел бы иметь возможность обнаруживать другие устройства iOS через Bluetooth, пока мое приложение находится в фоновом режиме.Можно ли использовать Bonjour или Game Kit, чтобы сделать это открытие, пока мое приложение не находится на переднем плане?

Можно ли сделать это и запустить уведомление, если будет обнаружено совместимое устройство?

Кроме того, смогу ли я работать в фоновом режиме во время воспроизведения звука и выполнять это обнаружение?

1 Ответ

4 голосов
/ 17 ноября 2010

Это невозможно, пока ваша заявка приостановлена. Из Руководства по программированию приложений для iOS :

Отмените все связанные с Bonjour услуги, прежде чем их приостановят. Когда ваш приложение перемещается в фоновый режим, и прежде чем он будет приостановлен, он должен отменить регистрацию в Bonjour и закрыть прослушивающие розетки, связанные с любым сетевые сервисы. Приостановлено приложение не может отвечать на входящие запросы на обслуживание в любом случае. Закрытие эти услуги мешают им кажется доступным, когда они на самом деле нет. Если вы не закрыли услуги Bonjour самостоятельно, Система закрывает эти услуги автоматически, когда ваше приложение приостановлено.

Будьте готовы обрабатывать сбои подключения в вашей сети на основе розетки. Система может сломаться сокетные соединения в то время как ваш Приложение приостановлено для любого ряд причин. Пока ваш код на основе сокетов подготовлен для другие типы сбоев сети, такие как как потерянный сигнал или сеть переход, это не должно привести к любые необычные проблемы. Когда ваш приложение возобновляет работу, если оно встречается сбой при использовании сокета, просто восстановить соединение.

Однако, если ваше приложение выполняет потоковую передачу звука, ему необходимо поддерживать сетевые подключения, поэтому вы должны иметь возможность выполнять обнаружение Bonjour, находясь в фоновом режиме, для приложения, непрерывно воспроизводящего аудио. Убедитесь, что вы не злоупотребляете этим, воспроизводя аудиоклип в цикле, чтобы вы могли оставаться в фоновом режиме, иначе ваше приложение будет отклонено.

...