第一次写简书,多多见谅。
项目用GCDAsyncUdpSocket发广播包(UDP)获取本地设备的IP地址;真机调试一直没问题,APP上架apple store后发现无法发包,需要向苹果申请多播网络权限。
可参考帖子:https://developer.apple.com/forums/thread/663271;
流程:
1、到苹果官网申请组播或广播的权限Multicast Networking Entitlement Request
简单描述一下APP 的功能以及需要用到多播权限,审核不难,可借鉴上图填写。
PS:Multicast Networking Entitlement Request上会绑定持有人账户的 team ID,所以一定要注意角色权限的选择(苹果官网右上角),确保有权添加多播权限。(个人账户没限制,公司账户用持有人账户登录)。
审核过程很快,本人第二天就收到邮件通知可以设置多播网络。
2、启用 Multicast Networking 附加功能
登录开发者网站上,在左侧点击Identifiers,进入对应的Identifiers,在 Edit Your App ID Configuration 页面上,多出了 Additional Capabilities 栏目,勾选Multicast Networking。
接下来启动授权,可对照https://developer.apple.com/forums/thread/663271
具体流程如下:
下一步是在您的项目中启用该权利:
1、Xcode的 “Automatically manage signing”改为手动,然后去配置证书,后面还说明了真机编译,然后使用终端验证App和Profile该权限可用。
2、在应用程序的.entitlements文件中,添加布尔值为 true的com.apple.developer.networking.multicast条目。
Xcode中会再通知您使用的权利,这不是在目前的供应配置文件的允许列表,但就是在你的应用程序ID的允许列表。它通过重建供应配置文件来对此做出响应。
3、真机运行编译应用程序,然后使用终端验证App和Profile该权限可用。