gpt4 book ai didi

ios - 签名无效 - 代码对象根本没有签名

转载 作者:搜寻专家 更新时间:2023-10-30 20:15:52 25 4
gpt4 key购买 nike

我可以完美地通过 Xcode 6.3.2 提交我的应用程序。验证和分析完美通过。一旦它成功提交到应用程序商店,尽管我收到一封来自 Apple 的电子邮件:

“亲爱的开发者,我们发现您最近交付的“App”存在一个或多个问题。要处理您的交货,必须更正以下问题:签名无效 - 代码对象根本没有签名。确保您已使用分发证书签署您的应用程序,而不是临时证书或开发证书。验证 Xcode 中的代码签名设置在目标级别是否正确(覆盖项目级别的任何值)。此外,请确保您上传的包是使用 Xcode 中的 Release 目标构建的,而不是 Simulator 目标。如果您确定您的代码签名设置正确,请在 Xcode 中选择“全部清除”,删除 Finder 中的“build”目录,然后重建您的发布目标。更多信息请咨询https://developer.apple.com/library/ios/documentation/Security/Conceptual/CodeSigningGuide/Introduction/Introduction.html一旦这些问题得到纠正,您就可以重新交付更正后的二进制文件。”

我尝试重新下载分发证书,重新生成分发配置文件,将“--deep”添加到代码签名“其他代码签名标志”。我什至检查了包名称等,一切都是字母数字。我能够在 5 月 22 日提交罚款,现在在 6 月 3 日一切都中断了。

没有任何意义,任何帮助将不胜感激!

更新和解决方案:

虽然我无法很好地解释为什么这会在上周突然发生,但今天早上我终于找到了解决方案。

我从一个新项目开始,除了标识符和正确的版本和内部版本号外,什么都没有提交到应用程序商店,处理得很好。在那之后,我开始拼凑任何不是我自己代码的 Assets ,直到我收到“无效二进制”电子邮件。我将其缩小到导致问题甚至不再使用的 Hockey App SDK(嵌入式框架),因此我将其从项目中删除(问题已解决)。令人不安的是,在验证或提交期间,我这边没有任何失败,而且根据 github,这个目录和内容在一年内没有改变,这让我相信 Apple 的服务器端发生了一些变化。

我确实通过谷歌看到很多帖子说框架需要签名等,当使用 Xcode 6 和 iOS 8 时,它似乎是标准,这就是为什么我认为它可能是这些方面的东西。

我不确定这有多大帮助,因为我是为 iOS 构建的,这篇文章引用的是 Mac,但 HockeyApp 解释说,为了分发到应用商店,您需要在此处使用您自己的身份对框架进行签名:

http://support.hockeyapp.net/kb/client-integration-ios-mac-os-x/hockeyapp-for-mac-os-x

如果有人对此有任何技术说明或为什么突然改变,我很乐意更好地理解这一点。

最佳答案

我检查了很多地方,似乎有几件事现在被 iTunes Connect 拒绝了。解决方案通常是从 Target -> Build Phases -> Copy Bundle Resources 中删除有问题的资源(如@azizus 所述)。不幸的是,Apple 不会告诉您是什么文件导致您的构建出现此问题,因此您必须自己寻找。以下是我发现的一些可以做到这一点的项目:

  • Shell 脚本(查找 .sh 文件,尽管它们可能有不同的扩展名)
  • 另外,当它们被列为可执行文件时,请注意这些文件不应该的。这些可能是寻找 shell 脚本的好地方你可能错过了。
  • 框架(框架包,甚至 .a 或 .o 文件 - 你不需要它们,因为它们会被编译成可执行二进制文件)
  • DocSets(我不知道为什么,但我发现 HockeyApp SDK包括一个 DocSet 包,根据我的经验,这是原因)
  • 有时这也可能由于一些奇怪的权利而发生问题。您拥有的权利可能与应用程序中的不匹配配置门户。
  • 注意应用名称或文件名中的无效字符(例如通配符)

这是一个非常广泛的列表,我在搜索中所做的帮助是构建一个存档,然后使用 finder 在存档中显示 .app 的内容,按文件类型排序。奇怪的是,这些文件居然存在于_CodeSignature/CodeResources文件中。

关于为什么会发生这种情况,我自己的理论是 Apple 因扩展程序和 WatchKit 应用程序而做出了一些改变(或正在做出一些改变)。本质上,您在打包的 IPA 中包含了几个二进制文件(电话应用程序、扩展程序、 watch 应用程序)。他们可能想确保您没有包含可能执行的其他内容。不幸的是,对于大多数人来说,错误消息过于模糊(实际上是不正确的)。

关于ios - 签名无效 - 代码对象根本没有签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30653768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com