首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以在Bonjour服务的info-plist上使用通配符吗?

我可以在Bonjour服务的info-plist上使用通配符吗?
EN

Stack Overflow用户
提问于 2021-04-07 16:59:43
回答 2查看 242关注 0票数 1

我的应用程序使用bonjour服务通过本地网络相互对话。我在使用OS14设备的Xcode12上遇到了问题。

设备发布具有服务器类型名称的服务取决于自身设备IP地址(例如: 192.168.33.20 -> _1921683320._tcp)

B设备搜索服务类型依赖于A设备IP地址(例如:_1921683320._tcp)

根据苹果document..From OS14~

https://developer.apple.com/documentation/multipeerconnectivity

代码语言:javascript
复制
Important
Apps that use the local network must provide a usage string in their Info.plist with the key NSLocalNetworkUsageDescription. Apps that use Bonjour must also declare the services they browse, using the NSBonjourServices key.

由于我的服务类型名称是以本地网络ip命名的,可以根据本地网络设置进行更改,所以我考虑使用通配符来定义服务类型名称。

示例:_*._tcp

但似乎通配符在这个定义上不可用。(我试过了)

我还在考虑更改设备的命名方法(例如: 192.168.33.20 -> _20._tcp),并将_1.tcp ~ _255.tcp添加到info-plist

但如果我更改了命名方法,B设备在版本升级之前无法找到A设备。

对这个问题有什么想法吗?请帮帮忙。

EN

回答 2

Stack Overflow用户

发布于 2021-04-15 03:16:27

我目前正在解决同样的问题- Bonjour服务名称是基于iPad名称动态创建的,以形成本地mesh网络。我得出的结论是,在不彻底检查所有逻辑是如何完成的情况下,需要com.apple.developer.networking.multicast才能使其发挥作用。(More info here)

你必须通过填写form here来获得苹果公司的许可。如果这对你有效,请告诉我!

票数 1
EN

Stack Overflow用户

发布于 2022-01-30 18:53:29

我发现,你“可能”不能使用通配符,但你可以在plist中放入多个条目:

代码语言:javascript
复制
Item 0 _multicastapp0-p._tcp  
Item 1 _multicastapp1-p._tcp
Item 2 _multicastapp2-p._tcp
Item 3 _multicastapp3-p._tcp
etc
Item N _multicastappN-p._tcp

因此,出于某些原因,如果你试图拥有多个8个“组”,或者让一个设备拥有自己的“集合”,例如,作为一个服务器,并有3个设备连接到它,你可以。

我还没有“完全”测试,但我将在我的应用程序中做到这一点,我确实使用了多个键测试,但不是完全的,没有错误…

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66982747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档