我的捆绑结构如下所示:
工作流是用户第一次打开UI时,它将安装帮助工具,然后通过将plist文件复制到〜/ Library / LaunchAgent目录并调用launchctl命令来安装服务。然后,UI将提示用户在辅助功能选项卡中启用该捆绑包。该服务的工作是监视和生成控制台二进制文件,这需要可访问性才能工作。
所有组件都在同一个包中并且代码已签名。捆绑结构如下所示:
应用/内容/资源库/ LaunchService /辅助
应用/内容/ MacOS的/服务
应用/内容/的MacOS / UI
应用/内容/ MacOS的/控制台
问题是即使用户在可访问性中启用整个捆绑包,控制台也会在后台由服务启动,但是当它检查自身是否是受信任的辅助功能客户端时,控制台仍会失败。我正在使用Mac API AXIsProcessTrusted进行检查。
我不确定工作流是否有缺陷或AXIsProcessTrusted API调用不是我想要的。