环境: xcode15
,iOS14+
使用MultipeerConnectivity
或NSNetServiceBrowser
时报错,错误信息如下:
Server did not publish: errorDict [{
NSNetServicesErrorCode = "-72008";
NSNetServicesErrorDomain = 10;
}].
解决方案:
需要在info.plist加入
-
NSLocalNetworkUsageDescription
- 权限申请 -
NSBonjourServices
- 服务声明
<key>NSLocalNetworkUsageDescription</key>
<string>Reason for using Bonjour that the user can understand</string>
<key>NSBonjourServices</key>
<array>
<string>_my-service._tcp</string>
<string>_my-service._udp</string>
</array>
注意:
plist的NSBonjourServices,按照你的需求选择是否tcp和udp都有,
命名规则是_my-service._tcp
和_my-service._udp
,
_my-service
、_tcp
、_udp
的_
都不能删除,否则无效。
例如:
如果你定义的服务是:
<string>_foobar._tcp</string>
<string>_foobar._udp</string>
在代码调用是就要使用foobar
:
mpcAdvertiserAssistant = MCAdvertiserAssistant(serviceType: "foobar", discoveryInfo: discoveryInfoDict, session: mpcSession)
网友评论