2

我正在创建多个 AppleScript 应用程序,每个应用程序都将演示文稿 HTML 捆绑到一个图标中,并使用 Safari 打开它。我想对生成的 Presentation.app 文件进行代码签名,以防止 Gatekeeper 对其进行标记。

我知道我可以手动打开每个 Presentation.app 并重新导出它,选择代码签名选项。我希望能够自动执行此步骤。

每个 Presentation.app 都是由语言和市场的组合构建而成,并通过一个自动过程组装在一起——它本身是用 AppleScript 编写的。因此,理想的解决方案是使用我的开发人员 ID 自动签署每个 Presentation.app 的 AppleScript 代码。

到目前为止,我已经尝试在脚本编辑器中记录操作,结果为零。我已经探索了脚本编辑器字典,看看是否有支持这一点的选项。我发现最接近的是脚本编辑器套件中的保存动词,但它不显示代码签名的参数。

4

1 回答 1

2

使用命令行codesign程序可以做到这一点。就像是:

codesign -s "Developer ID Application: <use your identity>" Presentation.app

在 AppleScript 中,这样调用它do shell script

do shell script "codesign -s \"Developer ID Application: <use your identity>\" Presentation.app"

在签名之前可能需要删除扩展属性:

do shell script "xattr -cr Presentation.app"

于 2018-01-17T16:31:50.730 回答