4

我有一个奇怪的问题。Codesign拒绝签我这个大项目A项目,但签了另一个项目B。但是,当我签了项目B时,它也能一下子签项目A。我100%确定我没有改变任何其他东西。我采取的步骤是:

尝试构建,签署 A - 签署失败
尝试构建,签署 B - 成功
尝试构建,签署 A - 成功

成绩单:

CodeSign 构建/调试-iphoneos/CPPlayer.app
cd /用户/昵称/CPPlayer
setenv CODESIGN_ALLOCATE /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/usr/bin/codesign -f -s "iPhone 开发者:Nick Overdijk (PM7C8QKTYS)" --resource-rules=/Users/nick/CPPlayer/build/Debug-iphoneos/CPPlayer.app/ResourceRules.plist --entitlements /用户/nick/CPPlayer/build/CPPlayer.build/Debug-iphoneos/CPPlayer.build/CPPlayer.xcent /Users/nick/CPPlayer/build/Debug-iphoneos/CPPlayer.app

/Users/nick/CPPlayer/build/Debug-iphoneos/CPPlayer.app:目标文件格式无效或不合适
命令 /usr/bin/codedesign 失败,退出代码为 1

在图片中:见这里(imageshack画廊)

有什么我可以错过的吗?任何想法如何发生?我现在一切正常,这似乎可以解决我的问题,但我想了解发生了什么。

有时它也可以这样工作:
构建/签署 A - 成功
构建/签署 A - 失败
构建/签署 B - 成功(B 似乎总是成功)
构建/签署 A - 成功
构建/签署 A - 失败

因此,在每次成功构建 A 之后,我必须构建并签署 B 才能再次签署项目 A。我可以连续多次重建项目B,它总是成功的。

我不确定这是否重要,而且当我尝试在模拟器中运行它(iPhone OS 3.1.2 的调试模式)时,它无法相互安装。所以:

构建/运行 -
构建/运行失败 - 工作
构建/运行 - 构建/运行失败
- 工作

这仅适用于项目 A,我可以根据需要多次构建和运行项目 B,我从未收到安装失败的消息。

在此先感谢,
尼克

4

5 回答 5

10

问题可能是 info.plist 文件太多。

我遇到了同样的问题(交替设计成功和失败)。

我在我的项目中添加了一个源代码目录,在该目录中添加了“添加现有文件”。原来目录中有一个info.plist文件,所以我的项目中现在有 2 个。我删除了新的并将其从项目中删除,我的问题得到了解决。

于 2010-02-15T00:18:09.737 回答
2

搜索特定的错误消息

object file format invalid or unsuitable

我得到了这些链接:

http://www.galloway.me.uk/2009/04/json-framework-codesign-object-file-format-invalid-or-unsuitable/

这表明您的 ResourceRules.plist 设置不正确。该解决方案似乎已经帮助很多人解决了这个问题。

于 2009-12-12T19:07:45.410 回答
2

我还在为“命令 /usr/bin/codesign 失败,退出代码 1”错误消息而苦苦挣扎。

这是我解决它的方法

右键单击info.plist查看它的目标。确保左侧的框未选中。这是默认状态。

定位文件不适用于 info.plist。

于 2011-02-15T01:05:55.490 回答
1

这个问题发生在我身上,尝试了证书、配置文件、清理和重新启动的所有组合,让该死的系统感到沮丧并没有告诉你问题是什么。让我继续猜测。我的解决方案是上面引用的文章。

“可执行文件名称”必须与“产品名称”匹配

真的救了我在这里找到这个。谢谢。

于 2011-02-23T04:31:30.773 回答
0

确保您的目标中没有多个 Info.plist 文件!

于 2010-03-08T14:07:28.470 回答