gpt4 book ai didi

IOS7 Multipeer Connectivity 使用广告商的发现信息创建自定义附近的浏览器列表

转载 作者:可可西里 更新时间:2023-11-01 04:52:37 26 4
gpt4 key购买 nike

我正在使用 Multipeer Connectivity Framework在IOS7下做一个聊天应用。我正在使用内置的 MCBrowserViewController 来显示附近的同伴列表。

我想在附近的同行列表中包含广告商的个人资料信息。这样浏览器就会看到一个列表,其中包含图像和一些关于附近同行的数据。

我觉得可以在advertiser初始化的时候通过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];

但是有什么方法可以创建一个自定义的 MCBrowserViewController 来在另一端显示 discoveryInfo 而不是使用内置的?有没有人有任何示例代码?

最佳答案

我建议创建您自己的 tableView 以显示来自您的 MCBrowser 的附近设备列表。

我正在使用方便的方法创建一个包装器,以便您可以更轻松地填充附近的设备。 https://github.com/thkien/THMultipeer

在开始广播之前,首先根据需要设置您的发现信息(这包括广告和浏览):

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

现在您可以完全控制如何填充 UI。您需要做的就是在您的 View Controller 中实现委托(delegate):

- (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,我只完成了 Discovery 部分。希望我能在 2 - 4 周内完成它。该库在 Objective-C 中,因此它应该向后兼容。

关于IOS7 Multipeer Connectivity 使用广告商的发现信息创建自定义附近的浏览器列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19185267/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com