2015-09-17 30 views
1

我是一名iOS開發人員,他正在使用MultiPeerConnectivity框架爲其中的藍牙設備名稱(iPod,iPad,Macbook等)列出應用程序。iOS 7中的MultipeerConnectivityFramework

MultiPeerConnectivity Framework使用MCBrowserViewController它負責瀏覽附近的設備和MCAdvertiserAssistant哪些廣告設備的連接。使用MultiPeerConnectivity Framework,你有兩個設備,一個應該宣傳自己,第二個應該瀏覽設備,而不是工作正常。

但我的問題是:
如何搜索其無法使用應用程序(我的意思是如何尋找我的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; 
    } 
} 

回答

1

如果你正在尋找發現其他iOS設備,以及其他Mac電腦和外圍設備也,那麼你就需要使用Multipeer ConnectivityCore Bluetooth結合。

MPC旨在用於發現您應用的其他實例。如果你想發現蘋果電腦,那麼他們將不得不運行與應用程序相同的serviceTypeMultipeer Connectivity廣告的Mac應用程序。

如果你想發現外圍設備,你將需要使用Core Bluetooth - 網上有很多教程,你也可以檢查this SO question作爲一個起點。

+0

感謝@ChrisH的迴應。 。 。但我認爲使用核心藍牙一個設備應該作爲外設,一個應該是中央(在這種情況下,這兩個設備都有應用程序)是嗎? –

+0

是 - 已更新答案 - 可以使用Core藍牙和其他Mac發現外圍設備將需要運行MPC的Mac應用程序。 – ChrisH

+0

其實我想通過藍牙連接一個外部設備(這是MFi授權)與我的iOS應用程序。 。 。我們可以把它變成外設嗎?任何想法或建議? –