Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode Mac Store-iTunesConnect上的二进制文件无效-签名无效_Xcode_Macos_App Store Connect_Mac App Store_Codesign - Fatal编程技术网

Xcode Mac Store-iTunesConnect上的二进制文件无效-签名无效

Xcode Mac Store-iTunesConnect上的二进制文件无效-签名无效,xcode,macos,app-store-connect,mac-app-store,codesign,Xcode,Macos,App Store Connect,Mac App Store,Codesign,iTunesConnect现在似乎拒绝使用我们的二进制文件(用于Mac应用商店),错误如下 无效签名-路径wetfm.app处的主应用程序包wetfm已签名,但签名无效。codesign报告了以下错误: 密封的资源丢失或无效 在体系结构方面:i386 最近几天我一直在研究这个问题,几乎什么都试过了;codesign--verify-vvv wetfm.app的输出为 wetfm.app:在磁盘上有效 wetfm.app:满足其指定要求 从codesign--display--verbose=4

iTunesConnect现在似乎拒绝使用我们的二进制文件(用于Mac应用商店),错误如下

无效签名-路径wetfm.app处的主应用程序包wetfm已签名,但签名无效。codesign报告了以下错误:

密封的资源丢失或无效
在体系结构方面:i386

最近几天我一直在研究这个问题,几乎什么都试过了;
codesign--verify-vvv wetfm.app
的输出为

wetfm.app:在磁盘上有效
wetfm.app:满足其指定要求

codesign--display--verbose=4 wet.fm.app
我得到了输出标题的完整列表,包括
Authority=3rd Party Developer Application:our company cert
;这似乎表明它的签名是正确的

该应用程序是在命令行(不是XCode——使用Unity3D)上构建的,使用
codesign-vvv-s“第三方Mac开发者应用程序:我们公司…”——authorities wetfm.authorities wetfm.app
;随后,两个插件包和一个框架将使用类似的命令进行签名

最后,使用
productbuild--component“wetfm.app”“/Applications”--签署“第三方Mac开发者安装程序:我们公司…”wetfmpackage.pkg构建软件包,然后通过应用程序加载器提交该软件包(应用程序加载器接受该软件包,并上载,然后将无效的签名电子邮件发送给我们)

到目前为止,我已经尝试了以下所有方法:

  • 撤销所有开发人员证书,在XCode中重新生成它们(并分别通过开发人员证书站点)
  • 删除所有配置文件
  • 重新安排签名过程的顺序(先签名主捆绑包,后签名主捆绑包)
  • 对子捆绑包进行签名或不进行签名(如果子捆绑包未签名,则会在以后出现附加错误)
  • 将“应用程序标识符”添加到权限文件(导致应用程序加载程序拒绝上载)
  • 重命名应用程序和bundleId(从wet.fm到wetfm)
  • 正在尝试上载到iTunesConnect上的新(不同)应用程序
据我所知,它确实在本地被正确地签名了——如果我能让codesign至少输出与电子邮件返回的错误消息相同的错误消息,那将是非常有用的;因为这将大大加快测试速度

如果有人有任何线索或见解,我们将不胜感激。谢谢


(环境:10.8.2,所有内容的最新版本。)

只需确保配置配置文件是为Distribution App Store build而构建的。因此,作为后续操作,请稍后再讨论。我是这样修好的;希望这对遇到这种情况的其他人有用。Unity3D在构建时向目录中添加了几个隐藏文件-我怀疑这是因为我们在Windows下构建Mac二进制文件,但不管原因为何;它在.app中放置了几个名为的文件,例如“统一默认资源”。现在;在验证时,codesign似乎会忽略这些,但在签名时却不会。packagebuild在生成时忽略它们。所以应用程序验证良好,软件包构建良好——但如果您安装了软件包,然后尝试验证您刚安装到的位置,您将获得“密封资源丢失或无效”,iTunesConnect将拒绝使用该二进制文件。现在让我们点燃人们的火焰……亚当,把你的发现作为一个答案,而不是对你的问题的评论,这将是一件很棒的事情。回答您自己关于StackOverflow的问题完全可以。