iOS 7 中的 MultipeerConnectivityFramework

MultipeerConnectivityFramework in iOS 7

我是一名 iOS 开发人员,我正在开发一个应用程序,我想在其中列出蓝牙设备名称(iPod、iPad、Macbook 等),我正在为此使用 MultiPeerConnectivity Framework。

MultiPeerConnectivity Framework 使用 MCBrowserViewController 负责浏览附近的设备,并使用 MCAdvertiserAssistant 为设备通告连接。使用 MultiPeerConnectivity Framework 你有两个设备,一个应该宣传自己,第二个应该浏览设备,而不是它工作正常。

但我的问题是:
如何搜索无法使用该应用程序的设备(我的意思是如何搜索我的 Macbook 或其他蓝牙设备,如蓝牙键盘等,我不是在谈论 Android 设备)。是否可以通过 MultiPeerConnectivity Framework 实现?或任何其他解决方案?

这是我的代码

-(void)setupPeerAndSessionWithDisplayName:(NSString *)_displayName
{
    self.peerID = [[MCPeerID alloc] initWithDisplayName:_displayName];
    self.session = [[MCSession alloc] initWithPeer:self.peerID];
    self.session.delegate = self;
}



-(void)setupMCBrowser{

    self.browser = [[MCBrowserViewController alloc] initWithServiceType:@"chat-files" session:self.session];
}



-(void)advertiseSelf:(BOOL)shouldAdvertise{

    if (shouldAdvertise) {
        self.advertiser = [[MCAdvertiserAssistant alloc] initWithServiceType:@"chat-files" discoveryInfo:nil session:self.session];

        [self.advertiser start];
    }
    else{
        [self.advertiser stop];
        self.advertiser = nil;
    }
}

如果您正在寻找其他 iOS 设备以及其他 Mac 和外围设备,那么您需要结合使用 Multipeer ConnectivityCore Bluetooth.

MPC 旨在用于发现您应用的其他实例。如果您想发现 Mac,那么它们必须是 运行 具有 Multipeer Connectivity 广告且与您的应用具有相同 serviceType 广告的 Mac 应用。

如果您想发现外设,您将需要使用 Core Bluetooth - 网上有很多教程,您也可以查看 this SO question 作为起点。