【问题标题】:The binary you uploaded was invalid. The signature was invalid, or it was not signed with an Apple submission certificate [closed]您上传的二进制文件无效。签名无效,或未使用 Apple 提交证书签名 [关闭]
【发布时间】:2010-02-15 13:41:48
【问题描述】:

您上传的二进制文件无效。签名无效,或未使用苹果提交证书签名

收到此错误消息.. 自2天以来.. 尝试了所有谷歌搜索.. 它还在那里

【问题讨论】:

  • 一个建议 - 也许尝试检查“稍后上传”复选框并使用 Apple 的单独 Cocoa 上传器。有时效果更好。此外,如果失败,它有时会在 OS X Console.app 中留下信息。
  • 我投票结束这个问题,因为we are not customer support for your favorite company.

标签: iphone xcode itunes


【解决方案1】:

在解决这个问题两天后,我的解决方案是确保没有两个文件仅在大小写上有所不同。所以 Foo.png 和 foo.png 在你的应用程序中的同一目录中会导致这个错误。

以下是我在这两天从不同网站收集的要检查的内容:

  • 检查构建日志“ProcessingProductPackaging”和“CodeSign”中的最终步骤
  • 确保没有意外包含任何 .svn 目录或类似目录
  • 确保您在发布模式的项目设置中具有正确的分发配置文件,并且它不会被目标设置覆盖
  • 在您的 pbxproj 文件中,检查发布模式的 PROVISIONING_PROFILE 和 CODE_SIGN_IDENTITY 行或删除它们并在项目设置中再次设置正确的配置文件
  • 使用 Finder 的 compress 而不是终端的 zip 命令
  • 检查 codesign -vvvv MyApp.app 的输出
  • 检查 codesign -dvvvv MyApp.app 的输出
  • 检查 codesign --verify -vvvv -R='anchor apple generic 和证书 1[field.1.2.840.113635.100.6.2.1] 的输出和证书叶子[field.1.2.840.113635.100.6.1.4] 的输出' MyApp.app
  • 如果无法使用 Safari 上传,请尝试 Firefox
  • 图标必须为 57x57
  • 使用应用程序上传器获取更多信息的错误消息
  • 您上传的 zip 文件路径中的任何位置都不得有空格或特殊字符
  • 检查您的钥匙串:您是否有与私钥关联的分发证书?
  • 确保在构建时将 Active SDK 设置为设备而不是模拟器
  • 使用 Show Contents 打开 .app 文件并检查它是否包含带有您分发配置文件的 UUID 的文件 embedded.mobileprovision,以及包含 CodeResources 的文件夹 _CodeSignature
  • 确保捆绑标识符与 AppID 匹配。对于 AppID XYZ.com.mycompany.*,有效的捆绑包标识符是 com.mycompany.myappname
  • 在 Mac 扩展文件系统上构建,而不是 fat32
  • 尝试从 XCode 中删除配置文件,清空缓存(XCode 菜单 -> 空缓存),重新启动 XCode,再次添加配置文件

【讨论】:

    【解决方案2】:

    如果您按照http://developer.apple.com/iphone/manage/distribution/index.action 中的说明进行操作,那么我可以提出以下可能导致此错误的内容:

    • 用于签名的证书/密钥/配置文件不正确
    • 证书已过期
    • zip 已损坏(它包含几个符号链接,如果您不按照说明制作 zip,这些符号链接将会损坏)
    • 您的 app bundle 中有 entitlements.plist 文件

    【讨论】:

      【解决方案3】:

      升级到 Xcode 4 后,我的 Distribution 构建与“Scheme”配置中的 Release 构建混淆了。我能够通过执行以下操作来修复:

      1. 在 Xcode 4 中,转到产品 > 管理方案...
      2. 选择目标/方案,按编辑按钮
      3. 选择存档操作
      4. 将构建配置从发布更改为分发

      上传到 iTunes Connect 后,我​​收到来自 Apple 的“无效二进制”和“无效签名”消息。检查并仔细检查我的配置、证书和其他构建设置,但找不到问题。猜猜我的存档计划是为了构建发布而不是分发。非常蹩脚,非常令人沮丧!

      【讨论】:

        【解决方案4】:

        我通过在我的权利 plist 中添加两个新密钥来解决此问题 - application-identifier 和 keychain-access-groups:

        <plist version="1.0">
        <dict>
            <key>application-identifier</key>
            <string>T9YRD11G97.com.duncancampbell.fontagious</string>
            <key>get-task-allow</key>
            <true/>
            <key>keychain-access-groups</key>
            <array>
                <string>T9YRD11G97.com.duncancampbell.fontagious</string>
            </array>
        </dict>
        </plist>
        

        我从配置文件中的 AppID 获得“T9YRD11G97”,从 iTunesConnect 中的 BundleID 获得“com.duncancampbell.fontagious”。

        希望这会有所帮助。

        【讨论】:

          【解决方案5】:

          这部分过程可能非常令人沮丧。很抱歉你已经花了两天时间,但听起来你已经很接近了。

          根据 Lauri 的回复,您是否验证了构建分发应用程序说明的“验证成功的分发构建”部分中的信息?

          具体检查您是否在构建中包含了正确的“embedded.mobileprovision”文件以及验证应用程序是否使用正确的证书进行签名?

          【讨论】:

          • 我尝试了你建议的所有这些..但仍然无法正常工作
          • 请包含“codeSign”和“embedded.mobileprovision”的构建脚本输出。这将使我们能够更具体地为您提供帮助。否则,我们只是提出一般性建议。另外,您是否尝试过 Hunter 的上述建议来尝试使用 Application Uploader?
          • 解决了..跑遍了几乎所有的论坛终于解决了..
          • 问题是开发人员配置配置文件已配置..
          【解决方案6】:

          对我来说,是我的项目名称中的一个空格导致了无效签名错误。当我检查构建日志时,我查看了引用分发证书的行,我看到文件路径中有一个空格。删除我的项目名称中的空格修复了它,希望这可以为人们节省很多麻烦。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2015-10-21
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-10-27
            • 1970-01-01
            相关资源
            最近更新 更多