由于开发和测试不在同一个办公室,而且是异地。
iphone的测试需要一套机制:一开始用的是apple的adhoc,后来发现这玩意有时候也会失灵。
干脆把对方的机器注册成开发机,只要对方拿到你 “Development” 的build结果拖进itunes里同步既可。
遇到的两个问题:
“签名不正确” (请去更新证书,最好挂好国外的代理,鬼知道GFW会把啥请求挡住)
因为我遇到过, 最明显的标识,当 "xxxx.cer" 证书下载完,双击后在“Key chain”里应该是有个小“三角”,点开些小三角会一把钥匙(私钥)。如果没有这把钥匙,该证书是不可用的。(apple的keychain确没有报任何问题,搞的人比较郁闷)
挂上代理重新生成一遍证书,直至有小“三角”为止。如果一直都没有,请改天再试(我一个朋友切实遇到过这种情况,当天怎么生成的证书都不能用,还害我帮他折腾了一晚上,第二天一生成就成功了,nnd。)
“资源文件被修改”:
这个比较坑人!也是跨平台同步的问题,如果开发和安装测试都用apple那么问题不大,但如果开发用apple的mac osx,而测试用windows的itunes安装就会出现这个问题,原因:“CodeResources -> _CodeSignature/CodeResources” 。
如果发 xxx.app的包给windows 这个链接就会被windows改掉,所以出现“资源文件被修改无法安装”的错误信息!
那么解决方法是手动制作ipa。
制作方法:
创建 Payload文件夹
把xxx.app放放Payload文件夹
把icon.png(57×57)命名为:“iTunesArtwork” (没有后缀)
把Payload 和icon.png压缩为Archive.zip(如果用命令行压缩的请请加入-r选项,保持符号链接)
改名Arclive.zip 为xxx.ipa
ok,可以发ipa出去了。