我正在尝试使用命令行签署Mac应用程序,我有一个在Mountain Lion中运行良好的脚本,但似乎不再适用于Mavericks。
所有似乎都运行正常并在签名后运行以下内容产生预期的输出:
> spctl -a -vvvv Name.app
Name.app: accepted
source=Developer ID
origin=Developer ID Application: Name, Inc (HA44SZ69G3)
然后我将.app压缩,上传到Amazon S3,下载并解压缩并运行相同的命令 - 输出为:
spctl -a -vvvv Name.app
Name.app: rejected
source=no usable signature
答案 0 :(得分:6)
您是否使用OS X的命令行工具创建和/或扩展zip存档?它们无法正确保存和恢复OS X的复杂文件系统元数据,因此恢复的应用程序将与您签署的应用程序不同。如果需要在命令行中创建保留元数据的zip存档,请使用:
ditto -c -k --sequesterRsrc --keepParent src_directory archive.zip
(见this previous question)。要展开它并重新附加元数据,请使用:
ditto -x -k archive.zip dst_directory