2013-10-04 34 views
5

我在IOS7中使用Multipeer Connectivity Framework來創建聊天應用程序。我正在使用內置的MCBrowserViewController來顯示附近對等點的列表。IOS7 Multipeer Connectivity使用廣告客戶的發現創建自定義附近的瀏覽器列表信息

我想在附近的同伴名單中添加廣告客戶的個人資料信息。這樣瀏覽器就可以看到一個包含圖像和一些關於附近對象的數據的列表。

我認爲可以通過在廣告客戶初始化時通過discoveryInfo傳遞數據來完成。我通過discoveryInfo數據是這樣的:

// create Discovery Info 
NSArray *objects=[[NSArray alloc] initWithObjects:@"datguy",@"28", nil]; 
NSArray *keys = [[NSArray alloc] initWithObjects:@"Name",@"Age", nil]; 
self.dictionaryInfo = [[NSDictionary alloc] initWithObjects:objects forKeys:keys]; 

// Setup Advertiser 
self.advertiser = [[MCAdvertiserAssistant alloc] initWithServiceType:@"txt_msg_service" discoveryInfo:self.dictionaryInfo session:self.advertiseSession]; 
[self.advertiser start]; 

但有什麼辦法可以創建顯示discoveryInfo在另一端,而不是使用內置的一個自定義MCBrowserViewController?有沒有人有任何示例代碼?

+1

我在這裏找到答案:http://stackoverflow.com/questions/19617882/creating-a-custom-mcbrowserviewcontroller –

回答

1

我建議創建自己的tableView,以顯示MCBrowser中附近設備的列表。

我正在用方便的方法創建一個包裝,以便您可以更容易地填充附近的設備。

THMultipeer.me().serviceType = "thkeen-test" 
THMultipeer.me().info = ["model": UIDevice.currentDevice().model] 
THMultipeer.me().broadcast() 

現在,你有你想要如何填充UI完全控制:https://github.com/thkien/THMultipeer

首先,只要你想,然後再開始廣播(這包括廣告 和瀏覽)設置你的發現信息。所有你需要做的是落實在您的視圖控制器的委託:

- (void)multipeerNewPeerFound:(MCPeerID*)peerID withName:(NSString*)name andInfo:(NSDictionary*)info atIndex:(NSInteger)index; 
- (void)multipeerPeerLost:(MCPeerID*)peerID atIndex:(NSInteger)index; 
- (void)multipeerAllPeersRemoved; 

如果你想獲得同行的整個列表,只需撥打:THMultipeer.me().peers(SWIFT語言)

一切都已經被處理圖書館。然而我沒有做的部分是自定義MCSession,我只完成了發現部分。希望我能在2 - 4周內完成它。該庫位於Objective-C中,因此應該向後兼容。

相關問題