我是一个iOS开发人员,我想在一个应用程序中列出蓝牙设备的名称(iPod、iPad、Macbook等),O正在使用MultiPeerConnectivity框架。
MultiPeerConnectivity框架使用负责浏览附近设备的MCBrowserViewController和为设备的连通性做广告的MCAdvertiserAssistant。使用MultiPeerConnectivity框架,您有两个设备,一个应该为自己做广告,第二个应该浏览设备,而不是它的正常工作。
但我的问题是:
如何搜索无法使用该应用程序的设备(我的意思是如何搜索我的Macbook或其他蓝牙设备,如蓝牙键盘等,而不是Android设备)。通过MultiPeerConnectivity框架可以吗?或者其他的解决方案?
这是我的密码
-(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;
}
}发布于 2015-09-18 13:06:20
如果您希望发现其他iOS设备,以及其他Mac和外围设备,那么您需要将Multipeer Connectivity与Core Bluetooth结合起来。
MPC用于发现应用程序的其他实例。如果你想发现Mac电脑,那么他们将不得不运行一个带有Multipeer Connectivity广告的Mac应用程序,其serviceType与你的应用程序相同。
如果你想发现外设,你将需要使用Core Bluetooth -有很多在线教程,你也可以检查this SO question作为一个起点。
https://stackoverflow.com/questions/32629884
复制相似问题