我有许多几乎相同的应用程序(除少数常量,图像和sqllite数据库文件外)。我之前从未提交任何问题,但今天其中一个更新在验证/提交时出现以下错误(注意:我过去更新了这个应用程序没有问题):
应用程序验证码验证失败。签名无效,或者未使用iPhone分发证书签名。
我花了一整天时间努力让这一切发挥作用。我甚至将整个项目文件夹与另一个应用程序(今天成功提交)区分开来,并且所有构建/签名设置完全相同(包标识符,版本号等除外)。我甚至(作为最后的手段!)撤销了证书并重新生成了所有内容,包括配置文件。
我已经完成了此处列出的所有步骤: https://developer.apple.com/legacy/library/technotes/tn2250/_index.html#//apple_ref/doc/uid/DTS40009933
但是,如果我从管理器“共享”应用程序并保存到磁盘,则运行codesign -dvvv表示它根本没有签名(但是,这会发生在那些有效的!)。不知道如何运行它,因为生成的文件(并在Organizer中显示)不是.app文件。
我完全失去了如何弄清楚这有什么问题,或者为什么它与其他人有什么不同。我似乎无法从组织者那里获得更多信息。该应用程序的构建方式与其他应用程序完全相同,项目文件等相同(除了图像/名称等预期的差异)。
答案 0 :(得分:3)
好的,修好了......我希望我早点尝试过这个,因为它今天可以节省我很多时间!
这个应用程序的App Store配置文件似乎有点腐败 - 不是在我的Mac上,而是在Apples服务器上..我今天已经下载了很多次,没有运气。我刚刚发现在验证过程中选择了Ad-Hoc配置文件,这让我相信它是特定于App Store的。所以我从iOS开发仪表板删除了 App Store配置文件,然后重新创建,下载它,并且它有效!
在我删除它之前,我编辑了它,一切都设置正确,过期日期是从现在开始的6个月,所以我只能假设Apple的一面被打破了(尽管我确定这个文件在过去!): - (
答案 1 :(得分:1)
我也有同样的问题。 我的所有配置文件,证书,捆绑标识符都是完美的。 除了我的应用程序可执行文件Info.Plist中的文件名和目标构建设置中的产品名称略有不同。 而且仅仅因为codesign_wrapper无法找到Provisioning。 我花了将近一天的时间才弄明白这一点。
所以请检查一下 应用商品名称必须与Info.Plist中的可执行文件相同。
答案 2 :(得分:0)
我有一个非常类似的问题,但在我的情况下,我的分发配置文件不断从我的系统中消失。因此,当特定于应用程序的分发配置文件消失时,Xcode会选择另一个(通配符,iPhone开发人员等),这是不正确的。除了我收到这个错误外,一切都很好。
我的解决方案是我从Apple下载了所有代码签名配置文件。我将它们保存在一个目录中,每当“消失”时,我只需要双击正确的配置文件将其添加到Xcode并更新plist中的代码签名标识中的“发布”条目。