Cocoapods/ CrittercismSDK导致应用提交错误:ITMS-90035

4
我正在尝试使用XCode 6.3将应用上传到Testflight。然而,在尝试验证应用时,它给出了以下错误信息:
我已经尝试重新生成证书和配置文件,但没有成功。
错误:ERROR ITMS-90035:“无效签名。代码对象根本没有签名。路径上的二进制文件[VirtualMechanic.app/dsym_upload.sh]包含无效签名。确保您已使用分发证书而不是临时证书或开发证书签署应用程序。验证Xcode中的代码签名设置是否在目标级别正确(覆盖项目级别的任何值)。此外,请确保您要上传的捆绑包是在Xcode中使用发布目标构建的,而不是模拟器目标。如果您确定代码签名设置正确,请在Xcode中选择“全部清除”,在Finder中删除“build”目录,并重新构建发布目标。有关更多信息,请参见https://developer.apple.com/library/ios/documentation/Security/Conceptual/CodeSigningGuide/Introduction/Introduction.html
1个回答

6
那个名为dsym_upload.sh的脚本不应该包含在应用程序包中,因为它是作为“构建阶段”的一部分运行的脚本,用于将调试符号上传到Crittercism。
找到正在将其复制到应用程序包中的“构建阶段”,并删除它,但请注意仍需要在“构建阶段”中运行它。
这是官方的Crittercism支持文章,与该问题相关,并推荐将Pod升级为版本5.2.0。

我在“Build Phases > Copy Bundle Resources”中找不到该文件。但是我有一个运行脚本,看起来像这样:APP_ID="XYZ" API_KEY="XYZ" source "${SRCROOT}"/Pods/CrittercismSDK/CrittercismSDK/dsym_upload.sh - Ashish Agarwal
@AshishAgarwal 那是需要保留的构建阶段。如果您找不到有问题的Copy Files,那么您将需要深入挖掘运行的脚本。它肯定在某个地方。 - trojanfoe
我在Pods项目的一个文件中有这样一行代码:install_resource "CrittercismSDK/CrittercismSDK/dsym_upload.sh" 它是用来做什么的? - Ashish Agarwal
是的,那就是那一行。删掉它。清理。归档。提交。 - trojanfoe
@AshishAgarwal 请注意,我已经编辑了我的答案,提供与此相关的官方Crittercism支持文章。 - trojanfoe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接