Ios7 多点连接断开

Ios7 多点连接断开,ios7,multipeer-connectivity,Ios7,Multipeer Connectivity,我在iOs7中使用Multipeer连接框架保持连接时遇到问题。目前,我的应用程序正在使用MCNearbyServiceAdvertiser和MCNearbyServiceBrowser以编程方式处理浏览和广告。我有一个提醒视图,询问用户是浏览器还是广告客户。从该视图返回时,我相应地实例化了一个MCNearbyServiceAdvertiser或浏览器 #pragma - Alert Delegate -(void)alertView:(UIAlertView *)alertView click

我在iOs7中使用Multipeer连接框架保持连接时遇到问题。目前,我的应用程序正在使用MCNearbyServiceAdvertiser和MCNearbyServiceBrowser以编程方式处理浏览和广告。我有一个提醒视图,询问用户是浏览器还是广告客户。从该视图返回时,我相应地实例化了一个MCNearbyServiceAdvertiser或浏览器

#pragma - Alert Delegate
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    if (buttonIndex == 0)
    {
        _browser = [[MCNearbyServiceBrowser alloc]initWithPeer:_peerID serviceType:@"Context-xl"];
        [_browser setDelegate:self];
        [self.detailViewController setRemote:YES];
        [_browser startBrowsingForPeers];
    } else
    {
        _advertiser = [[MCNearbyServiceAdvertiser alloc]initWithPeer:_peerID discoveryInfo:nil serviceType:@"Context-xl"];
        [_advertiser setDelegate:self];
        [self.detailViewController setRemote:NO];
        [_advertiser startAdvertisingPeer];
    }
    [self.detailViewController configureView];
}
我的会话委托方法对等:…DidChangeState。。。被呼叫两次,一次用于连接,另一次用于断开连接。会话开始后,我根本不会停止广告商或浏览器。我应该停止浏览/广告吗

EDIT使用了苹果公司的支持票,他们确认使用太多数据或太频繁调用sendData可能会导致断开连接

编辑我的假设是,苹果有一个线程或队列,用于轮询检查对等点是否连接。如果此线程/队列暂停(即,命中断点或应用程序锁定CPU或在主线程上执行某些操作需要一段时间),则可能会导致断开连接

在不加密的情况下创建会话似乎有助于提高性能和断开连接,尽管这种情况仍然存在

MCPeerID* peerId = [[MCPeerID alloc] initWithDisplayName:self.displayName];
self.peer = [[MultiPeerPeer alloc] initWithDisplayName:peerId.displayName andPeer:peerId];
self.session = [[MCSession alloc] initWithPeer:peerId securityIdentity:nil encryptionPreference:MCEncryptionNone];

此外,我发现调用sendData太频繁(每秒超过30-60次)可能会导致框架处于不良状态,并导致冻结和断开连接。

我一直在研究它。我认为设置断点可能会导致设备断开连接,事实似乎就是这样。但是,设备在正常运行时无法保持连接。我也有同样的问题。设备先连接一段时间,然后断开连接,无法保持连接或重新连接。当我使用MCSession的sendData:ToPeer方法进行文件传输时,经常发生这种情况。此后,我改用startStream:withName方法打开一个流,设备一直保持连接。可能重复的我也会被随机断开连接,即使不是在后台或断点上。有人找到了解决方案吗?事实上,我和负责多点连接的苹果工程师谈过了,他们确认过频繁地调用sendData可能会导致问题。也许iOS 8会解决这个问题,我们拭目以待……嘿,很高兴知道。你有支持票的链接吗?@Omer没有。很遗憾,电子邮件已被删除。