我试图想办法在设备同意连接之前在设备之间传递缩略图。
因此我无法使用发送数据或发送资源方法。 我不能在discoveryInfo中传递它,因为它会超过discoveryInfo的大小限制。
是的我 COULD 将图像存储在服务器上并在discoveryInfo中存储链接并传递给它,但这不是一个选项(一个用于例如,考虑没有互联网连接)
原因是我需要在列表中显示用户旁边的缩略图时显示。
(我不是使用标准的对等选择器窗口,而是使用MCNearbyServiceAdvertiser和MCNearbyServiceBrowser进行我自己的界面)
有没有人知道如何传递缩略图,或者将参考传递给我可以在他们的设备上获得的缩略图,然后通过标准控件/ Multipeer / Bonjour /等获得?
谢谢!
答案 0 :(得分:2)
当您听到附近的同伴并邀请他们加入会话时,请致电
invitePeer:toSession:withContext:timeout:
上下文是“传递给附近对等方的任意数据。这可以用来向用户提供有关邀请性质的更多信息。”
据推测,您可以在上下文中包含一个包含缩略图图像的NSData。
您可以在创建MCNearbyServiceAdvertiser时通过提供discoveryInfo在早期阶段交换信息。这是一个可供浏览器使用的键值对字典。但是,您不能将其用作缩略图,因为“当以UTF-8编码时,键值对不得超过255个字节(总计)”。
要交换大量数据,您需要使用Bonjour创建自定义发现类以进行发现。