没有 .app 包的 Codesign 命令行二进制文件

Codesign command line binaries without .app bundle

我如何对一堆命令行应用程序进行代码设计,例如自建的 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)