iOS MCBrowserViewController卡在"搜索..."

时间:2016-05-25 23:01:11

标签: ios p2p multipeer-connectivity

我正在尝试使用广告客户助手和浏览器视图控制器来实施iOS Multipeer Connectivity框架。这看起来很简单,但浏览器永远不会找到我的其他设备。这是代码:

$userdata = get_data_by( 'user_nicename' , $rusername );
     if ( !$userdata )
     $rusermail = $userdata->user_email;

这是在两台iOS 9.3设备上运行,这两台设备都支持蓝牙,并连接到同一个Wi-Fi网络。浏览器窗口打开但是说“搜索...”#34;并且从不显示其他设备。

我尝试在我尝试浏览的设备上仅运行广告客户代码。我还尝试直接使用MCNearbyServiceAdvertiser和MCNearbyServiceBrowser。两种变化都没有区别。

我还没有找到任何讨论这个问题的网页,所以希望我找不到简单明了的东西!

1 个答案:

答案 0 :(得分:1)

您需要保留对MCAdvertiserAssistant的引用。它在startSession结束时超出了范围,并且正在发布。

@property (nonatomic, strong) MCAdvertiserAssistant *advertiser;

- (void)startSession {
    MCPeerID *peerId = [[MCPeerID alloc] initWithDisplayName:[[UIDevice currentDevice] name]];
    self.peerSession = [[MCSession alloc] initWithPeer:peerId];
    self.peerSession.delegate = self;

    self.advertiser = [[MCAdvertiserAssistant alloc] initWithServiceType:@"myapp" discoveryInfo:nil session:self.peerSession];
    [self.advertiser start];
}