先说我的解决方法:Xcode -> File -> Workspace Settings -> Build System ->legacy build system
刚来新公司,接手一个别人做好的项目,改版之后打包上传一切顺利。但是很快我就收到了苹果反馈的一份错误邮件。
邮件内容如下图:
一开始以为是证书有什么问题,但是检查完后发现证书,描述文件之类的都没有问题。
于是,开始在网上查找该错误的解决方法。发现网上有很多人遇到这个问题,大致提到有以下这些解决方法(网站为英文,这是机翻的):
1)您没有选择带有有效证书的PROJECT和TARGETS分发配置文件。确保在“发布设置”选项的“构建设置”中选择了有效的配置文件,并在developer.apple.com上验证您的配置文件仍然有效。(此处:https : //developer.apple.com/account/ios/profile/profileList.action)
2)您在“构建设置”中的代码签名身份是有效的分发身份。确保选择了有效的一个,并且已将其选择为“发布”选项。
3)对于您的执行类型,您的方案(可以通过产品->方案->编辑方案找到)对于构建配置,必须为“发布”。如果要归档应用程序以便提交App Store,请确保在此窗口中为“存档”构建类型设置了“发布”。
4)您的钥匙串访问中具有多个分发证书。尝试从钥匙串中删除重复的证书,然后再次尝试提交。
5)您有一行以“#!”开头的代码。在您的文件之一的顶部,通常是“ .sh”或“ .py”。最近,Apple似乎要求对这些文件进行代码签名。感觉像是他们自己的错误,但对于您的提交,只需删除此行!如果Pod目录中的构建脚本之外还有“ .sh”文件,也可能发生这种情况。
6)您的project.pbxproj文件中有重复的CODE_SIGN_IDENTITY行。他们可能看起来像这样...
“” CODE_SIGN_IDENTITY [sdk = iphoneos *]“ =” iPhone开发人员“;CODE_SIGN_IDENTITY =“ iPhone发行”;
删除这些行之一,您的文件应该可以再次正确构建。
7)从您的开发者帐户刷新Xcode中的证书和配置文件。Xcode->首选项...选择您的帐户->查看详细信息->点击刷新按钮。
然而不幸的是,我尝试了全部的方法,都不能解决我的问题。
最后我想起之前有升级过Xcode,是否和这个有关。最后终于找到了问题所在:
在Xcode9之后,Xcode新增了一个构建系统“New Build System”(新构建系统),在Xcode10被替换成了默认Build System。而在这个新的构建系统下,部分老的脚本可能出现问题。
于是我把构建系统勾选为legacy build system(传统构建系统),然后打包上传,困扰了两天的问题成功解决了。
附上我的解决方法:Xcode -> File -> Workspace Settings -> Build System ->legacy build system
最后,希望能帮助到遇到同样问题的人。
注:部分内容转自https://stackoverflow.com/questions/29859996/error-itms-90035
网友评论