2

我尝试使用 SMJobBless 为我的应用程序制作辅助工具;当我通过通道遵循设置时:

http://www.tanhao.me/pieces/1623.html/

当我运行时,xcode 给了我:

SMJobBless 失败,错误:错误域 = CFErrorDomainLaunchd 代码 = 8“(空)”

8 表示 kSMErrorJobPlistNotFound;但我检查了其他链接标志:

在此处输入图像描述

并且捆绑包存储plist:

在此处输入图像描述

这是同一个问题: SMJobBless 错误

但我不在答案之下,我无权添加评论


SMJobBless 演示设置 info.plist 键SMPrivilegedExecutables是这样的;但我不知道如何将其应用于我的程序:

anchor apple generic and identifier "com.apple.bsd.SMJobBlessHelper" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = xxxxxxxxxx)

4

2 回答 2

1

这些文件被编译到您的特权助手中,因此您需要在编译时检查它们的位置。将它们放在捆绑包中无济于事。

检查编译时路径是否正确:两个 plist 文件都应位于一个文件夹MSLDHelper中,而该文件夹又应与您的.xcodeproj文件位于同一文件夹中。

至于您问题的第二部分:Apple在代码签名指南中描述了他们的代码签名要求语言。以您的示例为例,您应该将标识符替换为您使用的标识符,并替换xxxxxxxxxx为“Mac Developer:mail@example.com (XXXXXXXXX)”之类的内容。如果您的证书可以在您的钥匙串中找到,请正确描述:在您的证书上单击两次并复制它的通用名称。

于 2019-01-07T06:45:41.300 回答
0

根据您的屏幕截图,您创建了一个包,而不是命令行工具。SMJobBless仅安装独立的命令行工具可执行文件。因此,虽然您的代码看起来可以正确地将两个属性列表内联到您的bundle中的可执行文件中,但整体格式似乎完全错误。

于 2021-10-28T04:48:32.707 回答