我一直在研究iOS 4.0的iPhone项目。我刚刚使用iOS SDK 4.1下载了Xcode 3.2.4,以便我可以使用更新的iOS。在udpated Xcode中打开项目后,我发现目标读为“Base SDK Missing”。我按照说明here修正了这个问题。
现在,当我尝试构建针对任何版本的iOS时,我收到此错误(错误文本中引用了相应的版本):
CodeSign错误:SDK“设备 - iOS 4.1”中的产品类型“应用”需要代码签名
我安装了Xcode创建的Team Provisioning Profile,Provisioning Profile有我的证书,选择的Code Signing Entity是'iPhone Developer:Aaron Milam'。
关于我在这里可能缺少的任何想法?
答案 0 :(得分:41)
当Xcode无法识别您的证书时,就会发生这种情况。
解决问题只是一个痛苦,有很多可能来帮助你。
但你应该尝试的第一件事是在“窗口”标签中删除=>管理器,您设备中的配置。然后重新添加它们(在苹果网站上再次下载)。并尝试再次编译。
顺便问一下,您是否在项目信息窗口中检查了“代码签名身份”?
祝你好运。
答案 1 :(得分:20)
请确保您在“任何iOS SDK ”而不是“调试/分发/发布”
行上编码。这正是我所做的:
代码签名身份 - > 不编码标志
*调试 - > 不编码标志
**任何iOS SDK - > [我的开发者资料]
*分布 - > 不编码标志
**任何iOS SDK - > [我的AppStore个人资料]
*发布 - > 不编码标志
**任何iOS SDK - > [我的AdHoc个人资料]
当我将我的配置文件放在上面一级时(在Debug / Ditribution / Release),由于某种原因它不起作用(bug?)。
希望它对我们中的一些人有帮助!
答案 2 :(得分:7)
我喜欢Stack Overflow:
我意识到有些时间过于具体是不够的,因为我们可能有不同的Xcode版本,我自己在同一台Mac Pro上有2个xcode版本。所以在这里我想提供一个通用指令,我希望它适用于所有Xcode版本:
我的2个版本是xcode 3.2.6和4.0。您需要找到(甚至谷歌的设置)您的xcode BUILD SETTINGS及其CODE SIGNING下的CODE SIGNING您有CODE SIGN IDENTITY这为您提供了一个IDENTIFIERS列表(如果您没有IDENTIFIERS请到这里获取一个并且需要注册https://developer.apple.com/ios/manage/overview/index.action - 按照Apple的说明“使用Development Provisioning Assistant在iOS上获取应用程序”如果您有标识符列表,只需选择一个有效标识符并再次运行Xcode。它会起作用!
3.2.6具体:在你的scode窗口 - 点击Project - >项目设置 - >构建(选项卡) - >有一个向下滚动,因为列表很长你确定你向下滚动找到你的代码签名部分
4.0具体:在你的xcode窗口 - 点击最左边的项目文件 - >然后下一个列点击您的目标应用 - >找到CODE SIGNING并指定一个IDENTIFIER。它应该适合你。
完成!
答案 3 :(得分:6)
考虑到所有证书都已正确安装,最常见的原因并未在“活动目标”设置中指定“代码签名标识”以及“项目”设置。将这些更改为iPhone Developer(Xcode将根据App ID匹配选择正确的配置文件)。
在Xcode中,从Simulator更改为Device(在Xcode窗口顶部的下拉列表中),以便您的应用程序部署目标将是设备。
作为通配符ID的默认ID就像捕获所有iD一样,当在代码签名中关联时(如果您使用示例文件构建,它们最明显没有com.coolapps.appfile导入,在没有'Team Provisioning profile'的情况下,你的构建会失败。所以你想在你的
Xcode->项目 - >编辑项目设置 - >构建(标签) - >代码签名标识(标题) - >任何iOS(从任何iOS模拟器更改) - >(选择'iPhone Developer'作为价值,默认为通配符开发配置文件(Team Provisioning Profile:*)
并且(非常重要)
答案 4 :(得分:3)
确保您已正确创建配置文件。 如果你这样做...你必须拥有...公钥,私钥和钥匙串访问证书。 检查你是否拥有这些......
XCode 3.2.4附带自动设备配置......所以您只需登录开发人员即可 帐户将下载所有有效的个人资料..
如果您拥有钥匙串和下载的个人资料中所需的一切...... 当您选择iPhone开发人员:Aaron Milam'时。在构建设置.. 确保您已选择要构建的配置(在Target-> Build内部的左上方)。 或者您可以执行所有配置以在所有可用配置中进行更改,例如调试,发布等。
答案 5 :(得分:2)
遵循这4个步骤总能解决我的问题。
答案 6 :(得分:2)
的答案可以合并
project.pbxproj
个文件,以便插入两个CODE_SIGN_IDENTITY
行。删除其中一个通常可以解决问题。
我创建了简单的脚本来帮助诊断此问题,可以在此处找到:https://gist.github.com/4339226
可以找到完整答案here。
答案 7 :(得分:2)
在尝试了上述所有答案以及Xcode 4.6中我能想到的所有其他内容后,我通过以下步骤解决了这个问题:
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,它现在运行正常。
答案 8 :(得分:1)
另一种可能性 - 当您构建存档时,请确保您的方案中的存档选择设置为分发,而不是发布。
转到产品 - >编辑方案这会打开一个新对话框。
选择左侧的存档。确保构建配置是分发。
答案 9 :(得分:1)
如前所述,如果您不想为您的应用程序签名,您可以
将CODE_SIGNING_REQUIRED
设置为NO
。这是没有任何项目/文件的方法
修改:
创建文件NoCodeSign.xcconfig:
CODE_SIGNING_REQUIRED = NO
将XCODE_XCCONFIG_FILE
环境变量设置为此文件的路径:
export XCODE_CXCONFIG_FILE=/path/to/NoCodeSign.xcconfig
现在您无需代码签名即可构建应用程序。
答案 10 :(得分:1)
答案 11 :(得分:0)
您是否更新了正在测试的iPhone的固件版本?
答案 12 :(得分:0)
我使用的是Xcode 4.3.2,我的问题是那里的文件夹里面有另一个同名的文件夹,例如myFolder / myFolder /.
解决方法是更改第二个文件夹的名称,例如myFolder / _myFolder,问题解决了。
我希望这可以帮助一些人。
答案 13 :(得分:0)
也许你的mac的日期和时间不正确。只要纠正它们。
答案 14 :(得分: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