人人中彩票

解决iPhone App程序签名问题

wode211 2010-01-26 10:52:32 8265
作者  wode211

原帖地址  http://www.gmdgyx.cn/bbs/read.php?tid-5577-fpage-54.html

刚要上传一个文件,结果失败了。提示为:
The binary you uploaded was invalid. The signature was invalid, or it was not signed with an Apple submission certificate.
在distribution 下已经通过真机安装和验证,怎么 传上去有这个 问题呢?

一、问题背景:
       程序已经做好,Ad Hoc 及 App Store 的profile在distribution 下均顺利build通过。但传到App Store 的时候却都总是说有签名错误。程序本身没有任何问题,这个我非常肯定,所以各位兄弟回贴中所说的那些证书及profile的问题都不是原因。弄了几个小时 没能解决后,又在网上查了下才发现,这是一个很莫名其妙的问题,在iphonedevsdk这个论坛上也有不少人遇到过。
  跟我的一样,他们的程序本身都是签好了,就是传不上去。有的问题出现在传新程序的时候,有的是出现在传update的时候;
有的是用web方式传出错,用loader传成功,有的却又恰好相反。最后解决它他们各自花了几个小时到几天不等的时间。所以这可能是一个App Store 上传程序的一bug,我可能是cocoachina里第一个遇到它的,但应该不会是最后一个,希望好运的兄弟们不会遇到。

二、痛苦的不断尝试:
  按照在网上搜到的信息及各种各样的提示,我不断的试。包括重做证书,重做profile,重新安装SDK等都已经试过,但一点效果都没有,给我的还是那段错误提示。
   为了验证我机器上的证书及profile是否有效,我还特意做了一个"Hello  world"传了上去,结果是顺利通过,证明证书、profile及SDK的基本设置是没有问题的,问题就应该出在这个新程序的本身。没有找到任何的原 因,我于是又新建了个项目,将那程序的内容全移到了新项目下,这个花了不少的时间,但得到的效果还一样。
  有人说可能跟SDK的版本有关系,我 现在的版本应该是3.0 bate4对应的那SDK版本,算是比较老的了。但我没办法升级,因为我的系统是10.5.5,后面的SDK大都要10.5.7以上的系统。本来打算这个 程序完成后来升级系统的,没想却正好出现了问题。同样我也没有办法尝试用loader来传,因为最新的loader同样需要10.5.7的系统支持,而旧 版本的loader已经不能使用。

三、以土办法来解决:
  实在是没招了,但想到我的“Hello world”是能顺利通过的,所以就横下心了,以一个全新的项目开始,小心的做没一个改动,每做一步大的改动都上传测试一下,做到最后,终于得到了通过, 真是不容易啊,期间上传了10多次。跟那些遇到过这个问题的老外一样,我也没有找到根本的原因所在。

四、总结:
  1:几个无关:
    a:与你是用App Store 还是Ad Hoc 的Profile无关。Ad Hoc 的profile build的二进制程序也是可以被App Store接受的,我之前传的都是用Ad Hoc profile 编译的,并通过了审核。表示怀疑的兄弟可以试着用Ad Hoc 编译一个简单的程序(如"Hello world") 传到App Store 上,绝对不会出现签名的错误。当然前提是你没做错。
   b:与clean、build、关闭Xcode及重启电脑的次数无关。以上的要有用做一次就有用了。如果做了一次没用,那么做一百次也同样没用;
   c:如果电脑上的证书及profile能让其他的程序都通过,那么与它们无关; 
  2:几个可能有关:
   a:与程序名称(也就是.app前的名称)可能有关:比如中间有空格之类的可能有关系的,我最后传上去的那个就把空格给去掉了;
   b:与Sdk的版本可能有关:有可能真是一个bug,老外有的出现这个情况后升级下sdk的ok了,但我没有条件升级;
   c:与上传方式可能有关:web和loader一个不行可以换一个试试,但我也没有条件试loader;
            d:与引用的库的路径可能有关:我用了320的一个库,后来稍微修改了一下路径;
  
  总的来说,这是一个奇怪的问题,来也蹊跷,去也蹊跷。
500万彩票 五分排列3 线上投彩 彩票达人 五分排列3 彩票购买 彩票购买走势 彩民交流论坛 彩票app pk10登陆平台