Por que meu ponto MCSession é desconectado aleatoriamente?

Eu estou usando MCNearbyServiceBrowser e MCNearbyServiceAdvertiser para juntar dois peers para um MCSession. Eu sou capaz de enviar dados entre eles usando o método sendData do MCSession. Tudo parece estar funcionando como esperado até que eu, aleatoriamente (e não devido a qualquer evento que eu controle) receba um MCSessionStateNotConnected através do manipulador MCSessionDelegate didChangeState da sessão. Além disso, o array connectedPeers do MCSession não tem mais meus pares.

Duas perguntas: por quê? e como evito que o MCSession se desconecte?

questionAnswers(5)

yourAnswerToTheQuestion