我在我的应用程序中使用 iOS 7 Multipeer 框架,但我遇到了设备断开连接的问题。如果我在两个设备中打开应用程序:设备 A 和设备 B,这两个设备会自动相互连接。然而,几秒钟后,设备 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];
但是 didChangeState 回调只是被 MCSessionStateNotConnected 调用。
奇怪的是,如果我将应用程序 A 发送到后台,然后重新打开它,B 重新连接到它并保持连接。
Multipeer API(和文档)似乎有点稀疏,所以我假设它可以正常工作。在这种情况下,我应该如何重新连接设备?