Я использую инфраструктуру iOS 7 Multipeer в своем приложении, но у меня возникла проблема с отключением устройств. Если я открою приложение на двух устройствах: устройство A и устройство B, два устройства автоматически подключаются друг к другу. Однако через несколько секунд устройство А отсоединяется от устройства В. Вначале соединение выглядит следующим образом:
A ---> B
A <--- B
Через несколько секунд:
A ---> B
A B
Устройство A поддерживает это соединение, но устройство B получает MCSessionStateNotConnected.
Это означает, что A может отправлять данные в B, но B не может ответить. Я попытался обойти это, проверив, подключено ли устройство, а если нет, повторное инициирование соединения с помощью:
[browser invitePeer:peerID toSession:_session withContext:Nil timeout:10];
Но callback didChangeState просто вызывается с помощью MCSessionStateNotConnected.
Странно, если я отправлю приложение A в фоновый режим, затем снова откройте его, B снова подключится к нему и соединение будет поддерживаться.
API-интерфейс Multipeer (и документация) выглядит немного редким, поэтому я предполагал, что он будет работать. В этой ситуации как я должен повторно подключить устройство?