命令 /usr/bin/codesign 失败,退出码为1。

5
CodeSign "build/Release-iphoneos/Nice Saying123.app"
cd "/Users/c28/Documents/Office Projects/Nice Saying123"
setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
setenv _CODESIGN_ALLOCATE_ /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
/usr/bin/codesign -f -s "iPhone Developer: dipak kasabwala (29QJU3WV6X)" "--resource-rules=/Users/c28/Documents/Office Projects/Nice Saying123/build/Release-iphoneos/Nice Saying123.app/ResourceRules.plist" --entitlements "/Users/c28/Documents/Office Projects/Nice Saying123/build/Nice Saying123.build/Release-iphoneos/Nice Saying123.build/Nice Saying123.xcent" "/Users/c28/Documents/Office Projects/Nice Saying123/build/Release-iphoneos/Nice Saying123.app"

/Users/c28/Documents/Office Projects/Nice Saying123/build/Release-iphoneos/Nice Saying123.app: replacing invalid existing signature
/Users/c28/Documents/Office Projects/Nice Saying123/build/Release-iphoneos/Nice Saying123.app: CSSMERR_TP_NOT_TRUSTED
Command /usr/bin/codesign failed with exit code 1

1
这通常是证书错误。你可以尝试以下步骤吗?http://discussions.apple.com/message.jspa?messageID=7709840 - Maria Zverina
6个回答

17

我遇到了完全相同的错误,尝试过各种方法,包括上面链接中的 discussions.apple.com 的建议。对我来说问题出在密钥链访问(Keychain Access)中,实际的 Apple WWDR 证书标记为 "始终信任"(Always Trust)。它需要改为 "系统默认"(System Defaults)。同样地,你的开发和发布证书也是如此。如果其中任何一个错误地设置为 "始终信任",这显然会导致这个问题。

所以,在密钥链访问中,点击Apple Worldwide Developer Relations Certificate Authority 证书,选择获取信息。然后,展开信任设置,在"使用此证书时:"组合框中选择"系统默认"。

选择 "始终信任" 竟然会产生错误,声称某些东西不被信任,这非常令人困惑:( ,但这似乎就是事实!

感谢 @MariaZverina 的评论/链接提供了关于这个问题的帮助。

编辑:你可能还需要检查登录系统证书,寻找这个问题。


1
这应该是根本原因。我按照 Nate 的建议修复了这个问题。谢谢~~~~~ - flypig
2
在我的情况下,是将“iPhone开发者”证书标记为“始终信任”。切换到“系统默认值”后,它就像魅力一样工作! :-) - German Latorre
你真是救星——我真的很好奇他们是否有XCode的测试人员。 - mmr
太棒了!你让我的一天都变得美好了!我浪费了很多时间试图找出应用程序为什么会崩溃的原因!如果有人感兴趣,我遇到的错误是在编译期间出现的 CSSMERR_TP_NOT_TRUSTED 和在执行期间(成功安装应用程序后)出现的 [deny-mmap] mapped executable file has no team identifier in its signature:...,而更改这些问题都得到了解决! - Angel G. Olloqui

2

即使我已经尝试了各种方法 :) 但Nate所说的是真的,它有效 :)

只需确保您检查了登录和系统证书,我的系统证书设置为始终信任,导致我忽略了它们。

苹果代码签名机构和苹果全球开发者关系证书颁发机构。


0

我的错误是: /Users/XXXXXXXX/Library/Developer/Xcode/DerivedData/XXXXXXXXXX-fictlumohhjzjxcfmyfpwvrjakqa/Build/Products/Debug-iphoneos/XXXX XXX.app:对象文件格式无法识别,无效或不适用

命令/usr/bin/codesign失败,退出代码为1

尝试以下操作。 开发系统:OSX Lion,Xcode 4.1 iOS 4.3

如果您复制了一个成功归档的项目并对其进行了修改以用于新版本,则复制的版本可能在模拟器中运行良好。但是,分发存档可能会出现上述错误。我花了一天时间解决这个问题。

  • 右键单击Your_Project.xcodeproj>显示包内容&编辑project.pbxproj文件。

解决方案: - Info.plist文件可能在项目文件夹中有多个副本。在pbxproj文件的配置部分中也可能存在错误/多个引用。因此,我删除了除从构建配置(Distribution)中引用它们之外的那些行。将info.plist引用设置为以下项目设置。

最后检查分发设置应如下所示。

8917E65D14244E5100B703F8 /* Distribution */ = {
            isa = XCBuildConfiguration;
            buildSettings = {
                ALWAYS_SEARCH_USER_PATHS = NO;
                ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)";
                CODE_SIGN_ENTITLEMENTS = "";
                CODE_SIGN_IDENTITY = "iPhone Distribution: XXXXXXXX XXXXXXX";
                "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: XXXXXXXX XXXXXXX";
                COPY_PHASE_STRIP = YES;
                GCC_PRECOMPILE_PREFIX_HEADER = YES;
                GCC_PREFIX_HEADER = XXXXX_Prefix.pch;
                INFOPLIST_FILE = Info.plist;
                IPHONEOS_DEPLOYMENT_TARGET = 4.3;
                ONLY_ACTIVE_ARCH = NO;
                PRODUCT_NAME = "Product Name";
                PROVISIONING_PROFILE = "XXXXXXXX-XXXX-4ACA-A26E-XXXXXXXXXXXXX";
                "PROVISIONING_PROFILE[sdk=iphoneos*]" = "XXXXXXXX-XXXX-4ACA-A26E-XXXXXXXXXXXXX";
                SDKROOT = iphoneos4.3;
                SEPARATE_STRIP = YES;
                TARGETED_DEVICE_FAMILY = 2;
                VALIDATE_PRODUCT = YES;
                WRAPPER_EXTENSION = app;
            };
            name = Distribution;
        };

0
在我的情况下,问题出在没有安装必要的中间证书(Apple WWDR和Developer ID)。我刚刚设置了一台新电脑,并从旧机器上导出了我的开发者配置文件,其中包含了所有必要的证书、密钥、预配文件等,打包成一个单独的文件,形成一个整洁的小包,可以备份,或像我这样,轻松地移动到新机器上。不幸的是,我假设中间证书会随之而来。但它们没有。从Apple开发者网站下载中间证书并使用钥匙串访问安装即可解决问题。
请注意,有两个中间证书:Apple WWDR中间证书(涵盖iOS和Mac应用商店的开发和分发),还有一个单独的Developer ID中间证书(涵盖开发者ID,例如在应用商店之外分发)。

0

这对我来说是在添加另一个证书到我的钥匙串后发生的。

这是一个毫无意义的修复,但尝试了所有方法后,我解锁/锁定了登录钥匙串,然后一切都解决了。

嗯嗯。


0
在我的情况下,是“iPhone开发者”证书被标记为“始终信任”。切换到“系统默认值”后,它就像魔法一样工作了!:-)
我也能够通过选择“系统默认值”使其正常工作。

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