验证/提交错误:应用程序未通过协同设计验证
我有许多几乎相同的应用程序(除了一些常量、图像和 sqllite 数据库文件)。我之前提交它们时从未遇到过任何问题,但是今天其中一个更新在验证/提交时出现以下错误(注意:我过去已经更新过此应用程序,没有任何问题):
应用程序未能通过协同设计验证。签名无效,或者没有使用 iPhone 分发证书进行签名。
我花了一整天的时间尝试一切方法来使其正常工作。我什至将整个项目文件夹与另一个应用程序(今天成功提交)进行了比较,并且所有构建/签名设置都完全相同(除了捆绑包标识符、版本号等)。我什至(作为最后的手段!)撤销了证书并重新生成了所有内容,包括配置文件。
我已完成此处列出的所有步骤: https://developer.apple.com/legacy/library/technotes/tn2250/_index.html#//apple_ref/doc/uid/DTS40009933
但是,如果我从组织者“共享”应用程序并保存到磁盘,运行 codesign -dvvv 说它根本没有签名(但是,这种情况发生在那些有效的!)。不知道如何运行它,因为生成的文件(并在管理器中显示)不是 .app 文件。
我完全不知道如何弄清楚这有什么问题,或者为什么它与其他的有什么不同。我似乎无法从组织者那里获得更多信息。该应用程序的构建方式与其他应用程序完全相同,并且项目文件等相同(除了图像/名称等预期差异)。
I have a number of apps that are almost identical (with the exception of a few constants, images, and a sqllite database file). I've never had any issues submitting them before, however today one of the updates gave the following error when validating/submitting (note: I have updated this app in the past with no issues):
Application failed codesign verification. The signature was invalid, or it was not signed with an iPhone Distribution Certificate.
I've spent all day trying everything to get this to work. I even diff'd the entire project folder against another app (which submitted successfully, today), and all build/signing settings are exactly the same (except bundle identifier, version number, etc.). I've even (as a last resort!) revoked the certificate and re-generated everything, including provisioning profiles.
I've been through all of the steps listed here:
https://developer.apple.com/legacy/library/technotes/tn2250/_index.html#//apple_ref/doc/uid/DTS40009933
However, if I "Share" the app from the Organizer and save to disk, running codesign -dvvv says it's not signed at all (however, this happens with the ones that worked!). Not sure how else to run this, as the file generated (and shown in Organizer) is not a .app file.
I'm at a total loss how to figure out what's wrong with this, or why it's any different to the others. I don't seem to be able to get any more information out of the Organizer. The app was built exactly the same way as the others, and the project files etc. are identical (except for expected differences like images/names).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
好的,解决了这个问题...我希望我早点尝试这个,因为它今天可以节省我很多时间!
该应用程序的 App Store 配置文件似乎在某种程度上已损坏 - 不是在我的 Mac 上,而是在 Apple 的服务器上。我今天下载了它很多次,但没有成功。我刚刚发现在验证过程中选择 Ad-Hoc 配置文件是有效的,这让我相信它是 App Store 特有的。因此,我从 iOS 开发仪表板中删除了 App Store 配置文件,然后重新创建它,下载它,它就成功了!
在我删除它之前,我对其进行了编辑,并且所有内容都已正确设置,并且到期日期是从现在起的 6 个月,所以我只能假设 Apple 这边有什么东西坏了(尽管我确信同一个文件在过去是有效的! ) :-(
Ok, fixed this... I wish I'd tried this sooner, as it would've saved me many hours today!
It seems that the App Store provisioning file for this app was somehow corrupt - not on my Mac, but on Apples servers.. I downloaded it many times today, with no luck. I just discovered that selecting the Ad-Hoc profile during Validation worked, which led me to believe it was specific to the App Store one. So I deleted the App Store provisioning file from the iOS dev dashboard, then recreated it, downloaded it, and it worked!
Before I deleted it, I edited it, and everything was set correctly, and the expiration date was 6 months from now, so I can only assume something was broken Apple's side (even though I'm sure this same file worked in the past!) :-(
我也有同样的问题。
我所有的配置文件、证书、捆绑标识符一切都很完美。
除了 Info.Plist 中的我的应用程序可执行文件名称和目标构建设置中的产品名称略有不同。
正是因为 codesign_wrapper 无法找到配置。
我花了将近一天的时间才弄清楚这一点。
所以请做一项检查
应用程序产品名称必须与 Info.Plist 中的可执行文件相同。
I also have the same problem.
All my provisioning Profiles, Certificates, Bundle Identifier every thing was perfect.
Except My Apps Executable file Name in Info.Plist and Product Name in Target Build Settings was slightly different.
And just because of that codesign_wrapper was not able locate Provisioning.
I spend nearly one day to figure this out.
So Please do one check
App Product Name is have to be same with your Executable file in Info.Plist.
我有一个非常类似的问题,但就我而言,我的发行版配置文件不断从我的系统中消失。因此,当特定于应用程序的分发配置文件消失时,Xcode 会选择另一个(通配符、iPhone 开发人员等),这是不正确的。一切看起来都很好,除了我收到此错误。
我的解决方案是从 Apple 下载所有代码签名配置文件。我将它们保存在一个目录中,每当其中一个“消失”时,我只需双击正确的配置文件即可将其添加到 Xcode 并更新 plist 中代码签名身份中的“release”条目。
I have a very similar problem, but in my case my distribution profiles keep disappearing from my system. So when an application specific distribution profile disappear Xcode picks up another one (wildcard, iPhone developer, etc.) which is not correct. Everything looks fine except I get this error.
My solution was that I downloaded all of my code signing profiles from Apple. I saved them in a directory and whenever one "disappears" I just have to double click the correct profile to add it to Xcode and update "release" entry in Code Signing Identity in plist.