Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 多点连接不';不要再连接了_Objective C_Cocoa Touch_Multipeer Connectivity - Fatal编程技术网

Objective c 多点连接不';不要再连接了

Objective c 多点连接不';不要再连接了,objective-c,cocoa-touch,multipeer-connectivity,Objective C,Cocoa Touch,Multipeer Connectivity,我正在使用Multipeer连接框架在设备之间传输文件。我正在使用标准的MCAdvertiserAssistant和MCBrowserViewController连接设备。在第一次尝试从设备A到设备B时,一切正常。在从设备B到设备A的第一次传输中,发生了相同的情况 如果您再次尝试任一方向,在MCBrowserViewController显示其对话框以选择对等设备并选择一个后,将不会出现在其他设备上接受请求的弹出窗口。没有错误消息,没有对委托方法的调用-什么都没有。有人遇到过这个问题和想法吗?我也

我正在使用Multipeer连接框架在设备之间传输文件。我正在使用标准的MCAdvertiserAssistant和MCBrowserViewController连接设备。在第一次尝试从设备A到设备B时,一切正常。在从设备B到设备A的第一次传输中,发生了相同的情况


如果您再次尝试任一方向,在MCBrowserViewController显示其对话框以选择对等设备并选择一个后,将不会出现在其他设备上接受请求的弹出窗口。没有错误消息,没有对委托方法的调用-什么都没有。有人遇到过这个问题和想法吗?

我也遇到过同样的问题,每次开始为同行做广告或浏览网页时,我都会启动所有必要的组件来解决这个问题。这不是最干净的解决方案,但在我的情况下,它100%有效

下面的代码是我如何实现它的,因此这没有Apple提供的内置ViewController

请注意,[session disconnect]是一种异步方法,有时需要几秒钟才能完成

- (void)startBrowsing
{
    // Initiate new advertiser
    isAdvertising = YES;

    _peerID = [[MCPeerID alloc] initWithDisplayName:@"Wallet"];
    _session = [[MCSession alloc] initWithPeer:_peerID];
    _session.delegate = self;

    _advertiser = [[MCNearbyServiceAdvertiser alloc] initWithPeer:_peerID discoveryInfo:nil serviceType:@"made2pay"];
    _advertiser.delegate = self;

    // Start advertiser
    [_advertiser startAdvertisingPeer];
}

- (void)stopBrowsing
{
    [_advertiser stopAdvertisingPeer];
    [_session disconnect];
    _session    = nil;
    _peerID     = nil;
    _advertiser = nil;

    isAdvertising = NO;
}

非常有趣的是,您必须重新生成peerId,以便它再次连接。似乎是框架中的一个大错误。