Ala*_*wad 5 ios ios7 multipeer-connectivity
我在IOS7中使用Multipeer Connectivity Framework来制作聊天应用程序.我正在使用内置的MCBrowserViewController来显示附近的对等列表.
我想在附近的同行列表中包含广告客户的个人资料信息.因此,浏览器会看到包含图像的列表以及有关附近对等方的一些数据.
我认为可以通过在初始化广告商时通过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];
Run Code Online (Sandbox Code Playgroud)
但有没有办法创建一个自定义MCBrowserViewController,在另一端显示discoveryInfo而不是使用内置的?有没有人有任何示例代码?
我建议创建您自己的 tableView 以显示 MCBrowser 中附近设备的列表。
我正在使用方便的方法创建一个包装器,以便您可以更轻松地填充附近的设备。https://github.com/thkien/THMultipeer
在开始广播之前,首先根据需要设置您的发现信息(包括广告和浏览):
THMultipeer.me().serviceType = "thkeen-test"
THMultipeer.me().info = ["model": UIDevice.currentDevice().model]
THMultipeer.me().broadcast()
Run Code Online (Sandbox Code Playgroud)
现在您可以完全控制如何填充 UI。您需要做的就是在视图控制器中实现委托:
- (void)multipeerNewPeerFound:(MCPeerID*)peerID withName:(NSString*)name andInfo:(NSDictionary*)info atIndex:(NSInteger)index;
- (void)multipeerPeerLost:(MCPeerID*)peerID atIndex:(NSInteger)index;
- (void)multipeerAllPeersRemoved;
Run Code Online (Sandbox Code Playgroud)
如果你想获取所有对等点列表,只需调用:THMultipeer.me().peers(Swift 语言)
一切都已经由图书馆处理好了。然而我还没有完成的部分是自定义 MCSession,我只完成了Discovery部分。希望我能在 2 - 4 周内完成它。该库采用 Objective-C 语言,因此它应该向后兼容。
| 归档时间: |
|
| 查看次数: |
1883 次 |
| 最近记录: |