我在myApp.app/Contents/MacOS/
下有一个可执行的shell脚本。我们的代码签名管道抱怨子组件(此脚本)未签名。
我该如何签名?我们当前的管道有codesign --sign
次调用,带有硬编码的证书编号和我不太了解的字段详细信息。基本上只有app中的应用程序和一些插件包都有代码签名。
我找不到关于如何对shell脚本进行代码签名的专门文档。
答案 0 :(得分:1)
FWIW ...迟到的答案......但是,它可以帮助某人:如果您已指定(通过Info.plist's CFBundleExecutable
键值)该脚本将成为您应用的可执行文件,当您尝试签署该脚本时,您应该确保其他所有内容都已签名。
注意:这是我通过bash脚本使用codesign
的经验(因此,不使用XCode
)。 Apple的文档说你应该从内到外签署你的应用程序包&#34 ;;这是我的解释,似乎对我们来说效果很好。
答案 1 :(得分:0)
与Build Phases>中的以下shell脚本类似的内容项目设置的“运行脚本”部分应该有效...
/usr/bin/codesign --force --sign "iPhone Developer" --preserve-metadata=identifier,entitlements --timestamp=none $BUILT_PRODUCTS_DIR/$PRODUCT_NAME.app/Frameworks/$framework