在macOS应用程序bundle中对Automator工作流文件进行代码签名



我正试图通过Xcode Organizer将macOS二进制文件上传到Mac应用商店。

我收到一个"上传失败"的错误消息:

应用商店连接操作错误

错误ITMS-90276:缺少捆绑包标识符。应用程序捆绑包包含一个工具或框架工作流[com.company.AppName.pkg/Payload/AppName.app/Contents/Resources/Resources/Scripts/workflow.workflow],该工作流在其Info.plist文件中缺少捆绑包标识符。

我的应用程序捆绑包包含AppleScript.scptShellScript.shworkflow.workflow脚本文件。

什么样的脚本需要Info.plist和Bundle标识符进行签名?我怎样才能克服这个错误?

Apple要求所有捆绑的可执行文件都是代码签名的

对什么进行代码签名

您签署应用程序的所有单独组件,不留任何空白,包括:

嵌套代码首先,您递归地对应用程序所依赖的所有助手、工具、库、框架和其他组件进行签名,这些组件与应用程序捆绑在一起。

https://developer.apple.com/library/archive/documentation/Security/Conceptual/CodeSigningGuide/Procedures/Procedures.html#//apple_ref/doc/uid/TP40005929-CH4-SW2

在这种情况下,workflow.workflowAutomator工作流捆绑包的代码签名失败,因为它在现有的Info.plist中缺少捆绑包标识符。

我添加了行:

<key>CFBundleIdentifier</key>
<string>com.company.AppName.SampleWorkflow</string>

添加BundleID后,Xcode Organizer会签署并上传到Mac应用商店,不会出现任何问题。

相关内容

  • 没有找到相关文章

最新更新