3

如何在 OSX catalina 中运行未签名的系统扩展?

我正在尝试加载 Apple 提供的系统扩展 SimpleFirewall,以演示数据包过滤功能。

该项目编译,但我在运行期间收到此错误:

OSSystemExtensionErrorDomain error 8

查了一下,意思是——

无效的代码签名或缺少权利

我禁用了 SIP,并关闭了 xcode 项目中的代码签名。我还能做些什么来运行它?我没有开发人员 ID.. 只是测试代码..

4

3 回答 3

1
于 2020-08-05T22:30:16.357 回答
1

Apple 关于“调试和测试系统扩展”的文档包含有关此主题的一些信息。

理论上,禁用 SIP 应该注意签名要求。您可能仍需要使用免费的 Mac 开发人员证书对扩展进行签名,以便嵌入权利。

您是否尝试从应用程序外部使用扩展程序?如果是这样,命令

systemextensionsctl developer on

应该有帮助。

于 2020-04-06T12:15:43.923 回答
-1

我对@tuti 有同样的问题。我正在测试基于 Driver Kit 的 hello world 系统扩展。我正在使用免费的开发者帐户、Mac mini Catatila、Xcode 11 进行开发。在我的 Xcode 中,我设置为不对应用程序和系统扩展的代码进行签名。我也禁用了 SIP 并运行命令“systemextensionsctl developer on”。但是当我从 Swift 应用程序加载我的系统扩展时,它仍然显示日志“操作无法完成。(OSSystemExtensionErrorDomain 错误 8。)”。当我查找错误 8 时,表示签名无效。但是在我的电脑上,我可以正常加载一个未签名的内核扩展。所以,我不知道为什么?我认为无论我禁用 SIP,操作系统仍会检查系统扩展的代码签名。

于 2020-04-17T09:41:49.870 回答