Xcode'CodeSign错误:代码签名是必需的'
我一直在用iOS 4.0开发一个iPhone项目。 我刚刚下载iOS SDK 4.1的Xcode 3.2.4,以便我可以使用更新的iOS。 在udpated Xcode中打开项目后,我发现目标是“Base SDK Missing”。 我按照这里的说明修复了这个问题 。
现在,当我尝试构build目标的任何版本的iOS时,我收到此错误(与错误文本中引用相应的版本):
CodeSign Error:SDK'Device – iOS 4.1'中的产品types'Application'需要代码签名
我已经安装了由Xcode创build的团队configuration文件,configuration文件具有我的证书,并且所选的代码签名实体是“iPhone Developer:Aaron Milam”。
任何想法,我可能会在这里失踪?
这发生在Xcode不能识别你的证书时。
这只是一个屁股疼痛解决它,有很多的可能性来帮助你。
但你应该尝试的第一件事是在“窗口”选项卡=>组织者,设备中的设置。 然后重新添加它们(在苹果网站上再次下载它们)。 并尝试再次编译。
顺便说一句,你是否在项目信息窗口中检查“代码签名身份”?
祝你好运。
确保你在“ 任何iOS SDK ”而不是“Debug / Distribution / Release”
这正是我所做的:
代码签名标识 – > 不要代码签名
*debugging – > 不要代码签名
**任何iOS SDK – > [我的开发者资料]
*分配 – > 不要代码标志
**任何iOS SDK – > [我的AppStoreconfiguration文件]
*发布 – > 不要代码签名
**任何iOS SDK – > [我的AdHocconfiguration文件]
当我把我的configuration文件上面一层(在Debug / Ditribution / Release)时,由于某种原因(bug?)不起作用。
希望它能帮助我们中的一些人!
-
我爱堆栈溢出:
-
我意识到一段时间太具体是不够的,因为我们可能有不同的Xcode版本,我自己在同一个Mac Pro上有2个Xcode版本。 所以在这里我想提供一个通用的指令,我希望它能适用于所有的Xcode版本:
-
我的2个版本是xcode 3.2.6和4.0。 你需要find(甚至谷歌的设置)你的xcode的build立和它的代码签名在代码签名你有代码签名身份这为您提供了一个身份证列表(如果你没有身份证去这里得到一个和注册是必需的https://developer.apple.com/ios/manage/overview/index.action – 按照苹果的说明“使用开发configuration助手在iOS上获取应用程序”)如果您有一个标识符列表,只需select一个有效的一个并再次运行你的Xcode。 这将工作!
-
3.2.6具体:在您的scode窗口 – 点击项目 – >项目设置 – >生成(选项卡) – >有一个向下滚动,因为列表很长让你向下滚动find你的代码签名部分
-
4.0具体:在你的xcode窗口 – 点击你的项目文件左边最colum – >然后下一个colum点击你的目标应用程序 – >find代码签名并分配一个标识符。 它应该为你工作。
完成!
考虑到所有证书安装正确,最常见的原因是没有在“活动目标”设置中指定“代码签名标识”以及“项目”设置。 将这些改为iPhone Developer(Xcode将根据App ID匹配select正确的configuration文件)。
-
在Xcode中,从模拟器更改为设备(在Xcode窗口顶部的下拉列表中),这样您的应用程序部署目标将是设备。
-
默认的ID是一个通配符ID,就像是在代码签名中关联的所有iD一样(如果你正在使用示例文件进行编译,他们显然不会有com.coolapps.appfile的导入,在这种情况下,团队configurationconfiguration文件“,你的构build会失败,所以你想在你的设置
-
Xcode->项目 – >编辑项目设置 – >构build(选项卡) – >代码签名身份(头) – >任何iOS(从任何iOS模拟器更改) – >(select“iPhone开发”作为价值,它将默认为通配符开发configuration文件(团队configuration文件:*)
也(非常重要)
- Xcode-> Project – > Edit Active Target – > Build(tab) – > Code Signing Identity(header) – >任何iOS(从任何iOS模拟器改变) – >(select“iPhone Developer”作为值,它将默认为通配符开发configuration文件(团队configuration文件:*)
完成初学者的步骤: http : //codevelle.wordpress.com/2010/12/21/moving-from-ios-simulator-to-the-ios-device-smoothly-without-code-sign-error/
确保你已经创build了configuration文件正确..如果你..你必须有…公钥,私钥和钥匙串访问证书。 检查你是否有这些..
XCode 3.2.4自带设备configuration…所以你只需login到您的开发人员帐户,它会下载所有有效的configuration文件..
如果你有所有你需要的钥匙链和下载configuration文件…当你selectiPhone开发者:Aaron Milam'。 在构build设置..确保你已经selectconfiguration(在目标 – >生成左上方)你想要build立。 或者你可以做所有的configuration来改变所有可用的configuration,即debugging,发布等。
- 在“ 项目 ”和“ 目标 ”部分填写“ 代码签名 ”
- 在“ Debug ”和“ Release ”中select“ Code Signing Identity ”中的有效条目
- 在“ debugging ”下select你开发者证书
- 在“ 发布 ”下select您的分销商证书
以下4个步骤总是解决我的问题。
对Xcode的答案进行汇总失败,出现“代码签名”错误
project.pbxproj
文件可以合并为可以插入两个CODE_SIGN_IDENTITY
行。 删除其中之一通常会解决问题。
我已经创build了简单的脚本来帮助诊断这个问题,可以在这里find: https : //gist.github.com/4339226
完整的答案可以在这里find。
在尝试了所有上述的答案之后,我可以从Xcode 4.6中想到所有其他的东西,我用下面的步骤来解决这个问题:
- closuresXcode
- 右键单击.xcodeproj文件 – >显示包内容
- 在文本编辑器中编辑project.xcodeproj
- search“CODE_SIGN_IDENTITY” – 会有这样的线对:
CODE_SIGN_IDENTITY = "iPhone Developer: Joe Smith (555NN555)"; "CODE_SIGN_IDENTY[sdk=iphoneos*]" = "iPhone Developer: Joe Smith (555NN555)";
我find了2个这样的值,2个目标
CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTY[sdk=iphoneos*]" = "";
我把前一对线条复制到后一对线条上,对于所有后一对都是空的情况。
然后我重新启动Xcode,现在它工作正常。
另一种可能性 – 当您为存档build立时,请确保您的存档在您的scheme中的select设置为分配,而不是释放。
转到产品 – >编辑计划这将popup一个新的对话框。
select左侧的存档。 确保构buildconfiguration是分发。
你有没有更新你正在testing的iPhone的固件版本?
我使用的Xcode 4.3.2,我的问题是,在那里的另一个文件夹中具有相同名称的文件夹,例如myFolder / myFolder /。
解决的办法是改变第二个文件夹的名字,例如myFolder / _myFolder,问题就解决了。
我希望这可以帮助一个人。
也许你的Mac的date和时间不正确。 只要纠正它们。
在文件/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/SDKSettings.plist
改变CODE_SIGNING_REQUIRED YES
至
CODE_SIGNING_REQUIRED NO
重新启动Xcode