我正在尝试在我正在编写的Objective-C OSX应用程序中重新加载kext。 KextManager API似乎是我应该使用的(docs here)
调用KextManagerUnloadKextWithIdentifier()
完美无缺,但是当我使用KextManagerLoadKextWithIdentifier()
后不久加载相同的kext时,我收到此控制台错误:
com.apple.kextd[12]: Request from non-root process 'App Name' (euid 501) to load /path/to/kext - not allowed.
这两种方法的文档都声明“调用进程必须具有0(超级用户)的有效用户ID”,但是卸载工作和加载不是吗?他们当然应该表现得一样吗?