是否可以自动对AppleScript应用程序进行代码签名?

时间:2017-09-26 20:02:27

标签: applescript osx-gatekeeper

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

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

每个Presentation.app都是由语言和市场组合而成,并使用自动流程进行组合 - 该流程本身是用AppleScript编写的。因此,理想的解决方案是使用我的开发者ID自动为每个Presentation.app签名的AppleScript代码。

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

1 个答案:

答案 0 :(得分: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"