问题描述
如何对一堆命令行应用程序进行代码签名,例如自建的SVN二进制文件,它们不在.app
结构内部,而是作为.tar.gz
捆绑包交付?现在我正在使用以下shell命令
EXECUTABLES=$(find . \( -perm +111 -type f -or -name '*.dylib' \))
for EXECUTABLE in $EXECUTABLES
do
codesign --force --remove-signature $EXECUTABLE
done
for EXECUTABLE in $EXECUTABLES
do
codesign --force --options=runtime --timestamp --sign $IDENTITY --entitlements "$ENTITLEMENTS_PLIST" -v "$EXECUTABLE"
done
,但看起来这还不够。从网站上下载时,MacOS 10.15仍然拒绝它们。
解决方法
- 二进制文件必须使用SDK 10.9或更高版本构建
- 公证需要像.app目录结构一样进行(通过创建.dmg以便上传到Apple)