MultipeerConnectivity 在 iOS 14 上表现不如预期

5

当调用 MCBrowserViewController

-[MCBrowserViewController advertiser:didNotStartAdvertisingPeer:]: unrecognized selector sent to instance

错误消息被抛出。
当MCAdvertiserAssistant尝试开始广告时。
-[MCAdvertiserAssistant advertiser:didNotStartAdvertisingPeer:]: unrecognized selector sent to instance

抛出了错误信息。

受到打击,无法继续进行。我的业务依赖于 MultipeerConnectivity 框架。

非常感谢任何帮助。

2个回答

8
let assistant = MCAdvertiserAssistant(serviceType: "tictactoe", discoveryInfo: nil, session: session)
let browser = MCBrowserViewController(serviceType: "tictactoe", session: session)

在 info.plist 中添加以下字段:

  1. 隐私 - 本地网络使用描述
  2. 使用以下初始化的 Bonjour 服务: _tictactoe._tcp 和 _tictactoe._udp

输入图像描述 输入图像描述


谢谢您的回答,实际上这个解决方案并没有解决问题。顺便说一下,在模拟器中没有出现这个问题。 - Rajesh
这些是您在创建广告主和浏览器时使用的标识符。 - hamzaozturk
我应该使用什么值? - Rajesh
你如何创建MCBrowserViewController和MCAdvertiserAssistant?你能展示一下你的代码吗? - hamzaozturk
广告商 = MCAdvertiserAssistant(serviceType: identifier, discoveryInfo: nil, session: session) 浏览器控制器 = MCBrowserViewController(serviceType: identifier, session: session) - Rajesh
显示剩余6条评论

2
我在实现MultipeerConnectivity时也遇到了一些问题。经过一些研究,找到了解决方法... 我所做的是:
  1. 我按照这个链接https://www.hackingwithswift.com/example-code/networking/how-to-create-a-peer-to-peer-network-using-the-multipeer-connectivity-framework进行操作。
  2. 在Info.plist中添加Bonjour服务(值为_*serviceType*._tcp)和隐私-本地网络使用说明。
  3. 删除与SceneDelegate相关的内容,如在Opt out of UISceneDelegate/SwiftUI on iOS中所述。
清理并构建。
注意:我正在使用Xcode12和iOS14。

崩溃问题已经解决了,但现在连接被拒绝了。你有什么想法吗? - Rajesh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接