iOS代码签名失败:“密封的资源丢失或无效。”

时间:2011-03-04 16:09:59

标签: iphone code-signing appstore-approval

我已经遇到这个问题已经8个小时无法解决了。

Whats Cool JLD$ codesign -vvvv build/Distribution-iphoneos/Whats\ cool\?.app
build/Distribution-iphoneos/Whats cool?.app: a sealed resource is missing or invalid
/Users/JLD/Desktop/iOS Development/Whats Cool/build/Distribution-iphoneos/Whats
cool?.app/Whats cool?: resource modified

我已尝试在所有这些主题上发布的解决方案无济于事:

我甚至尝试重新创建整个项目再次重做所有IB连接,没有任何作用!它构建了一切,但它无法编码签名!所以我无法通过AppLoader上传它。

我正按照分发应用程序页面上的配置文件中的说明执行所有这些操作。

我甚至试过从另一台Mac上构建。我的分发配置文件和我的分发证书都设置为WildCard。但它仍然无效。我使用另一个Bundle ID以不同的名称创建了一个新的应用程序无济于事。我不知道该怎么办了! 谢谢你未来的问题解决者!我知道你在那里,所以来帮助我,我会永远感谢你!

更新:我尝试从头开始制作新项目。复制源代码并重建IB上的所有连接无济于事。我甚至按照这个链接说明:

不成功。我不知道还能做什么。我甚至考虑使用一个技术事件来一劳永逸地解决这个问题。

7 个答案:

答案 0 :(得分:10)

我刚刚在Lion上尝试使用Xcode 4签署存档时遇到此错误。这个问题与存档在一台机器上压缩并传输到另一台机器上的事实有关 - 这个zip实用程序不支持符号链接,而应用程序代码签名在包内使用符号链接,因此解压缩档案无效。

可能的解决方案是:

  1. 使用Finder的上下文(按住Ctrl键单击/右键单击)菜单,选择“压缩”以创建zip文件,或者:
  2. 使用zip的命令行版本并为其提供-y参数以保留符号链接。

答案 1 :(得分:6)

这不是我害怕的具体答案,而是你可能没想过的事情。

在您的命令行代码段中,您似乎在构建应用程序包后对其进行代码签名。您是从另一台计算机还是从另一台驱动器移动捆绑包(.app文件夹或IPA或ZIP文件)?我在使用不正确支持符号链接的文件系统之间移动应用程序包时遇到了问题。您使用的是网络驱动器,还是没有为Mac OS格式化的本地驱动器。

答案 2 :(得分:4)

解决。问题是'?'产品名称上的字符。不应该那样,但那就是它。没有苹果说这会产生协同验证问题。

答案 3 :(得分:1)

另一个问题可能是您的应用程序包含图像文件名,而您的应用程序中没有英文字符。例如“şçğ”。如果删除这些图像或更改文件名,它将继续。

答案 4 :(得分:0)

Apple的新APFS文件系统存在一些处理Unicode字符的错误,这是导致问题的原因。

将整个项目移至旧版MacOS Extended卷并再次存档解决了该问题。

答案 5 :(得分:0)

我在这个问题上花了几天的时间,对我来说是因为应用程序的名称包含阿拉伯字符:(,因此xcode 12上的苹果不接受阿拉伯字符?在xcode 10上我发布时没有任何问题

在ios上开发人员非常复杂

答案 6 :(得分:0)

在我的情况下,出现此错误是因为创建的用于分发应用程序的磁盘映像空间不足,并且ditto并未将所有文件从构建文件夹复制到磁盘映像。由于我使用的脚本会产生大量噪音,因此我错过了ditto的警告,警告它ditto用完了目标磁盘映像中的空间。不幸的是,cardsorder = ['2', '3', '4', '5', '6', '7', '8', '9', 'T', 'J', 'Q', 'K', 'A'] colors = ['C', 'D', 'S', 'H'] handEx = ['8C','TS','KC','9H','4S'] 应该放弃了整个过程,而不是将警告隐藏在它设法复制的无数小文件的其他路径中。