Xcode的“协同设计错误:代码签名要求”

问题描述 投票:41回答:15

我一直在努力与iOS 4.0的iPhone项目。我刚刚下载的Xcode 3.2.4与iOS SDK 4.1,这样我可以用更新的iOS工作。当在udpated的Xcode打开项目,我发现,目标看“基地SDK缺少”。我固定的按照指示here

现在,当我尝试建设中定位iOS的任何版本,我收到此错误(在错误文本中引用的对应版本):

协同设计错误:在SDK需要的产品类型“应用程序”代码签名“设备 - iOS 4.1的”

我安装了Xcode中创建的团队发放模板,该供应配置文件有我的证书,并选择了代码签名实体是“iPhone开发人员:亚伦米拉姆”。

任何想法,以什么可能会缺少在这里吗?

iphone ios xcode code-signing
15个回答
41
投票

当它发生的Xcode不能识别您的证书。

这只是在屁股来解决一件很痛苦的,也有很多的可能性,以帮助您。

但你应该尝试的第一件事就是在“窗口”选项卡取出=>管理,这是在你的设备供应。然后重新添加他们(苹果网站上重新下载)。并尝试重新编译。

顺便说一句,你在项目信息窗口中勾选“代码签名身份”?

祝好运。


1
投票

另一种可能性 - 当您建立档案,确保您的归档选择在您的方案设置为分发,不会释放。

转到产品 - >编辑方案这带来了一个新的对话框。

在左侧选择存档。确保生成配置是分布。


1
投票

如这里已经提到的,如果你不想代码签名您的应用程序,你可以设置CODE_SIGNING_REQUIREDNO。这里是方法做它没有任何项目/文件的修改:

创建文件NoCodeSign.xcconfig

CODE_SIGNING_REQUIRED = NO

设置XCODE_XCCONFIG_FILE环境变量此文件路径:

export XCODE_CXCONFIG_FILE=/path/to/NoCodeSign.xcconfig

现在,您可以创建一个没有代码签名您的应用程序。


0
投票

你有没有更新你正在测试的iPhone的固件版本?


0
投票

我使用的Xcode 4.3.2,和我的问题是,在那里有另一个文件夹中的文件夹名称相同,e.g MyFolder中/ MyFolder中/。

解决的办法是改变第二个文件夹的名称e.g MyFolder中/ _myFolder,问题就解决了。

我希望这可以帮助一些之一。


0
投票

也许你的Mac上的日期和时间是不正确的。只是纠正。


0
投票

在文件/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/SDKSettings.plist

改变CODE_SIGNING_REQUIRED YES

CODE_SIGNING_REQUIRED NO

重新启动的Xcode


20
投票

确保上线“在任何iOS SDK”,而不是“调试/分配/释放”你的代码标志

这正是我所做的:

代码签名身份 - >不编码标志 *调试 - >不编码标志 **在任何iOS SDK - > [我的开发人员的个人资料] *配送 - >不编码标志 **在任何iOS SDK - > [我的AppStore资料] *发布 - >不编码标志 **在任何iOS SDK - > [我的AdHoc资料]

当我把我的配置上一级(在调试/分销/释放),它并没有出于某种原因(错误?)。

希望它可以帮助我们中的一些!


7
投票
  • 我爱堆栈溢出:
  • 我意识到,有些时候过于具体是不够的,这是因为大家有不同版本的Xcode,我对Mac Pro的自己同样的2 Xcode的版本。所以在这里,我想提供我希望它会为所有版本的Xcode工作的一般说明:
  • 我的2个版本的Xcode是3.2.6和4.0。你需要找到(甚至谷歌的设置),您的Xcode构建设置和下CODE其代码签名签署你有代码签名Identity此为您提供标识符列表(如果你没有标识符的去这里得到一个需要注册https://developer.apple.com/ios/manage/overview/index.action - 遵循苹果的这一指令)如果您有标识符的列表,只需选择一个有效的,然后再次运行Xcode的“关于与开发配置助理在iOS让您的应用程序”。它的工作!
  • 3.2.6具体:在您的SCODE窗口 - 点击项目 - >项目设置 - >构建(标签) - >还有一个向下滚动,因为名单很长,确保您向下滚动找到你的代码签名节
  • 4.0具体:在您的Xcode窗口 - 点击你的项目文件中最左边的列 - >你的目标应用程序,然后下一列点击 - >找到代码签名和指定的标识符。它应该为你工作。

完成!


6
投票

最常见的原因,考虑到所有的证书都正确安装不与项目设置沿着指定的活动目标设置代码签名身份。从到iPhone开发者改变这些(Xcode中会根据应用程序ID匹配选择合适的配置文件)。

  • 在Xcode中,(在Xcode的窗口顶部的下拉菜单)从模拟器更改为设备,让您的应用程序部署的目标将是设备。
  • 这是一个外卡ID,默认ID就像是一个包罗万象的编号,代码签名(如果您正在使用示例文件建立关联的时候,他们将最明显的是没有com.coolapps.appfile进口,在这种情况下没有“团队供应配置文件”,您的构建会失败。所以,你会想设置这个在您的
  • Xcode->项目 - >编辑项目设置 - >生成(标签) - >代码签名标识(头) - >所有的iOS(在任何iOS模拟器变化) - >(选择“iPhone开发者的价值,它会默认为通配符开发配置文件(团队调配简介:*)

并且还(非常重要)

  • Xcode->项目 - >编辑活动目标 - >生成(标签) - >代码签名标识(头) - >所有的iOS(在任何iOS模拟器变化) - >(选择“iPhone开发者的价值,它会默认为通配符开发配置文件(团队调配简介:*)

在初学者完整步骤:http://codevelle.wordpress.com/2010/12/21/moving-from-ios-simulator-to-the-ios-device-smoothly-without-code-sign-error/


3
投票

请确保您已创建的供应型材正确..如果你做了..你必须有...公钥,私钥和证书钥匙串访问。检查您是否有所有这些..

3.2.4的XCode与自动设备配置来... ...所以你只需要登录您的账户的开发人员将下载的所有有效配置文件..

如果你拥有你所需要的钥匙扣和下载的文件...当你选择iPhone开发者:亚伦米拉姆”。在构建设置..请确保您选择配置(在内部靶左上角>编译)你想建立。或者你可以做所有的配置,以在所有可用的配置即调试,发布等的变化


2
投票
  1. 填写“代码签名”两个“工程”和“目标”一节
  2. 在这两个“调试”选择“代码签名身份”有效条目和“释放”
  3. 在“调试”选择你的开发者证书
  4. 在“释放”选择代理商证书

按照这些4个步骤总是解决了我的问题。


2
投票

总结形成一个答案Xcode fails with "Code Signing" Error

project.pbxproj文件可以以这样的方式两个CODE_SIGN_IDENTITY线可以插入合并。删除其中的一个正常修复该问题。

我创建了简单的脚本来帮助诊断这个问题就可以在这里找到:https://gist.github.com/4339226

一个完整的答案可以发现here


2
投票

尝试以上的答案,以及其他一切我能在Xcode 4.6想到从后,我解决了这个具有下列步骤操作:

  1. 关闭的Xcode
  2. 在.xcodeproj文件右击 - >显示包内容
  3. 在文本编辑器编辑project.xcodeproj
  4. 搜索“CODE_SIGN_IDENTITY” - 将有对这样的线路:
 CODE_SIGN_IDENTITY = "iPhone Developer: Joe Smith (555NN555)";
 "CODE_SIGN_IDENTY[sdk=iphoneos*]" = "iPhone Developer: Joe Smith (555NN555)";

我发现了2个目标有这样的价值,和2个目标与

 CODE_SIGN_IDENTITY = "";
 "CODE_SIGN_IDENTY[sdk=iphoneos*]" = "";

我复制了前者对线超过后者对所有的情况下,后者对是emtpy线。

然后我重新启动的Xcode,现在工作得很好。


2
投票

在我的情况,锁定和从钥匙串访问解锁登录,钥匙串的伎俩enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.