从9.10号以后,Apple相继发布了新版本的iPhone以及iOS的正式版本8.0,还有新版本的iTunes Connect,新版本的iTunes connect相较于旧版本,变动还是蛮大的,尤其是在操作上传提交新版本应用的时候,如果中途想要reject回来,在提交一次的时候,就会报错,当前版本的二进制文件已经存在,造成无法上传。
今天在上传新版本的时候,就遇到这样的问题,把之前在watting for review的版本reject回来了,然后在上传的时候,Application Loader就报错,当前版本已存在,无法上传。
想要改变当前状态为watting for uploading,根以前完全不是一个操作流程。
先说说为什么reject回来的版本,为什么不能直接上传呢?
认真看就会发现,有一个Prerelease的一个选项,进去之后,有之前上传的build版本在里面,如图:
后面还有一个TestFlight beta testing的一个开关按钮,这个按钮的作用其实就是开启当前版本的发布前测试功能,那么,要怎么测试呢?
在bulids后面有一个internal testers(内部测试人员)的按钮,点击之后,就可以为当前这个待发布版本添加测试者,当然,这些测试者必须是加在当前这个发布账户内的人,可以在User and Roles当中添加。添加完成之后,开启账户的internal tester操作,这些账户的拥有者,就可以参与内部测试了,最多可以添加25个内部测试。如图:
设置人员属性:
设置新上传Build的测试属性
添加内部测试人员
然后在internal testers里面就可以选择到内部测试人员了。
就是因为这个新的功能,才造成,reject版本,在上传的时候,提示已经存在。因为可能这些版本已经被内部测试人员下载使用,所以不提供自动删除,在重新上传新的二进制文件。
在xcode开发App时,在general选项下有一个build属性,在以前提交新版本的时候,从来没有注意过build属性的作用,但是它有一个基本要求,就是必须比当前的version版本高或者相等。现在这个build版本有了大用处。就是当现在提交应用后,需要reject操作,在上传的时候,需要重新设置build属性,要新提交的build一定要比上次reject回来的版本的build高,比如:
当前上一个提交版本的build是1.4,那么重新提交,就必须比1.4要高,例如:1.4.1 这样在重新提交,就不会在出现二进制文件已存在的错误。
提交成功之后,在iTunes connect里面,的应用新版本详细里面会有一个Build属性,前面是版本号,后面是刚刚提交的build号。
如果当前应用是出于Prepare for Submission(Prepare for uploading)的状态,build选项会让你选择最新的二进制文件,重新进行提交审核。此时,内部测试人员,就可以下载测试当前的最新版本了。
整个过程大概就这样了。对大家有用的话,就不枉码这么多字了。