我有一个需要kext的Mac OS X应用程序(也由我构建)。我想将kext“捆绑”到应用程序中,以便在用户运行应用程序时自动加载kext(当然,可能会显示提示输入管理员密码的信息)。是否可以,或者是否需要在安装时安装kext?

最佳答案

您可以从您的应用程序进行安装。您将需要使用Service Management框架以提升的特权(用C或Obj-C编写)运行任务。然后可以安装kext。

您的帮助程序工具应为可执行文件,该可执行文件以提升的特权运行,以代表您的应用执行安装kext的操作。

脚步:


将Kext和帮助器工具作为资源包含在应用程序捆绑包中
创建一个帮助工具为您完成工作。您的助手工具将需要将您的kext复制到/ System / Extensions目录。您需要以提升的特权进行复制。获取您的帮助工具以调用kextload进行安装。
您需要对助手工具和应用程序进行代码签名,然后将服务管理框架的相关条目放入助手和主应用程序的info.plist中。


Apple开发人员文档对此绝对是残酷的。祝好运。您可能必须使用Objective-C或C而不是Java来完成所有这一切,因为您必须使用C库(例如Security Framework和Service Manager)以及代码签名。

关于java - 是否可以在应用程序中捆绑kext?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12917102/

10-11 08:29