我有一个需要 kext 的 Mac OS X 应用程序(也是我构建的)。我想将kext“捆绑”到应用程序中,这样当用户运行应用程序时,kext就会自动加载(当然,可能会提示输入管理员密码)。是否可能,或者我是否需要在安装时安装 kext?
最佳答案
您可以从您的应用程序安装它。您需要使用服务管理框架以提升的权限运行任务(用 C 或 Obj-C 编写)。这样就可以安装kext了。
您的帮助工具应该是一个以提升的权限运行的可执行文件,以代表您的应用执行安装 kext 的操作。
步骤:
- 将 Kext 和辅助工具作为资源包含在您的应用程序包中
- 创建一个帮助工具来为您完成这项工作。您的帮助工具需要将您的 kext 复制到/System/Extensions 目录。您需要以提升的权限复制它。获取您的帮助工具以调用 kextload 进行安装。
- 您需要对助手工具和应用进行代码签名,并将服务管理框架的相关条目放入助手和主应用的 info.plist 中。
Apple 的开发者文档非常糟糕。祝你好运。您可能必须使用 Objective-C 或 C 而不是 Java 来完成这一切,因为您必须使用 C 库,例如安全框架和服务管理器,以及代码签名。
关于java - 是否可以在应用程序中捆绑 kext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12917102/