【问题标题】:Code Signing an Automator Workflow file within macOS app bundle在 macOS 应用程序包中对 Automator 工作流文件进行代码签名
【发布时间】:2020-07-02 01:18:45
【问题描述】:

我正在尝试通过 Xcode Organizer 将 macOS 二进制文件上传到 Mac App Store。

我收到“上传失败”错误消息:

App Store Connect 操作错误

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

我的 app bundle 包含 AppleScript.scptShellScript.shworkflow.workflow 脚本文件。

什么样的脚本需要 Info.plist 和 Bundle Identifiers 来签名?我怎样才能克服这个错误?

【问题讨论】:

    标签: macos app-store app-store-connect mac-app-store appstore-sandbox


    【解决方案1】:

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

    代码符号的内容

    您对应用的所有单独组件进行签名,不留任何间隙,包括:

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

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

    在这种情况下,workflow.workflow Automator Workflow 包的代码签名失败,因为它在其现有 Info.plist 中缺少包标识符。

    我添加了以下几行:

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

    添加 BundleID 后,Xcode Organizer 签名并上传到 Mac App Store 没有问题。

    【讨论】:

      猜你喜欢
      • 2021-11-20
      • 2018-06-26
      • 2013-09-28
      • 2020-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-13
      • 1970-01-01
      相关资源
      最近更新 更多