Используя EADemo от Apple в качестве базы, я пытаюсь понять влияние фоновой обработки на EAAccessories.
Когда я получаю уведомление connectNotification, я получаю аксессуар, проверяю протокол и получаю потоки. С потоками я устанавливаю делегата, планирую на RunLoop и открываю
В настоящее время, когда я выхожу на задний план, я все это разрушаю. Я отменяю все, что я сделал, и освобождаю все объекты.
Я также делаю этот разрыв на didDisconnect.
При входе я не всегда получаю didConnect, поэтому просматриваю список подключенных аксессуаров и проверяю соответствующие устройства.
- = - = - = -
Демонстрация EA устанавливает и разбирает сеансы на представлении, поэтому мы не видим, сохраняется ли фоновая стойкость.
Демонстрационный код EA, по-видимому, предполагает, что вы можете разорвать и вернуться обратно, пока само устройство не отключилось.
Сеанс и устройство, однако, иногда, кажется, приходят в состояние, когда устройство iOS спит или переводит приложение в фоновый режим, и устройство перестает подтверждать данные, или, что еще хуже, прекращает вытягивать данные из потока до такой степени, что поток наполняется.
Вопрос. При использовании фоновой обработки не следует ли отключать активную сессию / аксессуар, если я не получаю уведомление didDisconnect. При этом я предполагаю, что структуры Session и Accessory (и, возможно, потоки) выживут в фоновом режиме?