微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法在不加入Apple Developer Program的情况下将网络扩展功能添加到macOS应用程序?

如何解决有没有办法在不加入Apple Developer Program的情况下将网络扩展功能添加到macOS应用程序?

我想构建一个可以过滤特定网络请求的macOS应用,因此我需要添加NetworkExtensions功能。但是在添加NetworkExtensions功能之后,我收到以下消息:

Your development team,"Potato Dev2",does not support the Network Extensions capability.

上述消息来自的图片https://i.stack.imgur.com/H46gE.png

来自Apple's documentation on "Adding Capabilities to Your App"

该平台以及您是否是Apple Developer Program的成员,都可能限制您的应用程序可用的功能

文档没有明确说明哪些功能需要成为Apple Developer Program的一部分。我也看不到为什么需要加入Apple Developer Program才能在自己的计算机上或为自己的计算机编写软件。请注意,至少据我所知,NetworkExtensions功能不依赖于Apple提供的任何服务(与HealthKit或Game Center相对)。

那么有没有一种方法可以在不加入Apple Developer Program的情况下向macOS应用添加网络扩展功能

解决方法

我想出了我的问题的答案:要编写使用NetworkExtension API的macOS软件,您必须是Apple Developer Program的成员(每年100美元)。有关详细信息,请参见https://developer.apple.com/support/app-capabilities/

,

如果您在Mac上(在macOS恢复环境中的终端中的csrutil disable)上禁用了系统完整性保护(SIP),并禁用了{{1 }}的权利检查是通过在内核的命令行参数中添加amfid来进行的。 (同样在恢复环境中,amfi_get_out_of_my_way=1

如您所注意到的,您将需要在代码签名时绕过Xcode并直接使用nvram boot-args='amfi_get_out_of_my_way=1'命令,因为Xcode会执行配置概要文件权利检查。 codesign本身不执行此检查。

这基本上可以用于与DriverKit系统扩展有关的所有事情,所以我希望它也可以与Network System Extensions一起工作。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。