Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 软件包安装程序如何检测用户是否同意kext_Macos_Kernel Extension - Fatal编程技术网

Macos 软件包安装程序如何检测用户是否同意kext

Macos 软件包安装程序如何检测用户是否同意kext,macos,kernel-extension,Macos,Kernel Extension,我有一个软件包创建的安装程序,人们总是忘记允许加载kext的许可,在隐私设置中是否有检测用户是否允许的方法,以便安装程序可以提示用户允许?我知道的唯一方法是在bash脚本中使用kextstat检查kext是否运行,以确定用户是否允许。引用自: 要确定KEXT是否因为没有用户批准而无法加载,请执行以下操作: 如果使用的是kextutil或kextload,请检查退出代码27。此外,kextutil将生成错误消息系统策略阻止加载内核扩展。 如果您正在使用IOKit/kext/KextManager.

我有一个软件包创建的安装程序,人们总是忘记允许加载kext的许可,在隐私设置中是否有检测用户是否允许的方法,以便安装程序可以提示用户允许?

我知道的唯一方法是在bash脚本中使用kextstat检查kext是否运行,以确定用户是否允许。

引用自:

要确定KEXT是否因为没有用户批准而无法加载,请执行以下操作:

如果使用的是kextutil或kextload,请检查退出代码27。此外,kextutil将生成错误消息系统策略阻止加载内核扩展。 如果您正在使用IOKit/kext/KextManager.h中的KextManager API,请检查结果代码kOSKextReturnSystemPolicy

因此,您可以从安装程序包中调用shell脚本或类似脚本,或者使用安装程序插件来调用
kextload
/
kextutil
或KextManager API。请注意,在Big Sur上,用户还必须重新启动才能加载kext,因此即使在用户批准后,kext也不会立即加载