iOS 14 上的多播网络权利

Nar*_*esh 6 objective-c ios ios14

我正在开发一个使用GCDAsyncUdpSocket实现SSDP 的应用程序。在 iOS 14 设备上,应用程序无法找到同一本地网络上存在的任何附近设备。

经过研究,我了解到苹果已经针对访问本地网络引入了新的隐私更改,但我无法理解如何在应用程序中包含所需的权利。

我看到一些论坛帖子,人们建议使用“多播网络权利请求表”向 Apple 请求权利。此表单要求提供 App Store URL,但我的应用程序尚未上线。我想首先在内部测试构建。

我有以下问题:

启用多播权利以便我可以在内部测试我的应用程序所需的最少步骤或设置是什么?

我将不胜感激关于这个主题的任何建议和想法。谢谢。

Lan*_*ria 2

我于 21 年 1 月 2 日在这里申请了多播网络权利,他们于 21 年 1 月 5 日回复了我。我的应用程序适用于同一网络上的设备。事实证明,您只需要 *arbitrary*或的权利wildcard services权利。以下是 convo 的简短片段,最后是他们对通配符的回应:

\n

初次申请

\n

解释为什么您的应用程序需要发送多播或广播流量,或浏览所有 Bonjour 服务类型

\n

:\n如果我的应用程序有 2 个或更多 iPhone(用户 A 和用户 B)使用 Bonour、NWConnection、NWListener 和 NWBrowser 连接,如果我是用户 A,按地图按钮进行搜索,我希望用户 B 立即出现...

\n

回复表格代表

\n

感谢您对多播网络的兴趣。听起来您\xe2\x80\x99能够使用Bonjour/多播DNS,这\xe2\x80\x99不需要任何权利,但只需要更改您的Info.plist。如果您对如何使用 API 有更多疑问,请关注开发者论坛。

\n

\n

我主要关心的是向 App Store 提交我的应用程序以支持 iOS 14,但没有多播权利,但它因没有多播权利而被拒绝。我对 iOS 14、多播权利、通过 NWConnection 的 Bonjour(我在更新应用程序以支持本地网络时打算使用的 Bonjour)以及应用程序审核团队有点迷失。根据这个文档和这个文档-

\n

"您的应用程序必须具有在 iOS 上发送或接收 IP 多播或广播的权利。它还允许您的应用程序浏览和宣传任意 Bonjour 服务类型。此权利需要获得 Apple 的许可,然后才能在您的应用程序中使用它。您可以测试您的应用程序使用 iOS 和 iPadOS 模拟器而没有有效的权利,但在物理硬件上使用多播和广播网络需要权利。

\n

为什么你说我需要的只是将更改添加到我所做的 info.plist 中:

\n

-隐私隐私 - 本地网络使用说明:我的应用程序需要您的许可才能使用本地网络与您周围的用户连接。

\n

-Bonjour 服务:_myApp._tcp

\n

代表回复

\n

仅当能够浏览和宣传任意或通配符服务时才需要该权利。如果您\xe2\x80\x99 已将您使用的一种类型添加到 Info.plist(如您所详述),则您不需要该权利。如果您的应用程序按原样工作正常,则\xe2\x80\x99 不需要执行任何其他操作!\n最好,\nApple Networking

\n