内容摘自http://www.cocoachina.com/bbs/3g/read.php?tid=330302,原博特别详细,下面我对部分地方进行了修改,主要是对在打包验证和上传的时候遇到的问题进行了一个解决方案的提供,最后感谢原博主对我的帮助!!!
一、证书的导出
1.1 前期工作
首先你需要有一个苹果的开发者帐号,一个Mac系统。
如果没有帐号可以在打开http://developer.apple.com/申请加入苹果的开发者计划。
如果你已经有了一个IDP,打开https://developer.apple.com/并登录到苹果MemberCenter,登录以后可以看到下面这个界面,列出了你开发需
要的一些工具,支持,itunes app管理等内容。见下:
选择Certificates, Identifiers & Profiles(左边第二项),申请证书、App ID、设备等配置都在此处。见下:
以上是对应开发的不同版本对应的不同的配置,我上架的是手机版,所以就选择了iOS Apps 中的Certificates
1.2 申请App Id
选择App IDs ——>点击+创建一个新的App ID
1.3.1、先创建一个证书请求文件
这儿需要一个Mac系统。以下内容以OS X Yosemite系统为例,另外版本差别不是很大。
首先打开应用程序-实用工具-钥匙串访问(KEY CHAIN),在证书助理中,选择"从证书颁发机构求证书",如下图:
在下图所示的界面,你的电子邮件地址:填你申请idp的电子邮件地址,常用名称,默认就好,CA空,选择存贮到磁盘,点击"继续":
选择保存的位置,比如选择桌面。下一步点击完成,你就可以看到你的桌面多了一个CertificateSigningRequest.certSigningRequest的证书请求文件。注:CSR文件尽量每个证书都制作一次,将常用名称区分开来,因为该常用名称是证书中的密钥的名字。
1.3.2 制作Provisioning Profile证书文件
1.3.2.1 开发者证书的制作:登陆到开发者中心,找到证书配置的版块,选择
,点击右上角的加号:
发布证书和开发者证书需要操作两次,分别创建,开发者证书用于真机调试,发布证书用于提交到AppStore。
然后下一步,会提示创建CSR文件,也就是证书签名请求文件。
直接选择我们上一步保存在桌面的CertificateSigningRequest.certSigningRequest的证书请求文件即可。
提交上去后就会生成一个cer证书,如图所示,有效期为一年。
点击DownLoad,双击安装。(如果安装不上,可以直接将证书文件拖拽到钥匙串访问的列表中)
1.3.2.2 Provisioning Profile证书制作:到这一步证书还没凑全,想提交AppStore还需要PP证书。
点击Provisioning Profiles,然后点击右上角的加号。
该流程也需要进行两次,分别创建开发用的PP证书和发布的PP证书。
下一步的选择项里会自动检测匹配你的AppID,另外下拉项中还可以选择wildCard格式。
注意:wildCard格式的证书没有推送,PassCard等服务的应用,慎重选择。 继续,这里有一个区别,因为PP证书的开发者证书需要真机调试,所以我们需要绑定真机,这里因为之前我添加过一些设备,所以这里就可以直 接全选添加,如果没有的话,需要将真机的udid复制出来在此添加,在发布PP文件中,是没有这一步的。
之后就是输入一个PP证书的名字了,然后生成,下载保存,双击就添加到Xcode中,这样在真机调试或者发布时,就可以分别有不同的PP证书与其对应。【其实可以不用下载保存,具体原因后面会介绍到】
1.4 配置项目环境
1.4.1 Account的配置
Xcode——>Preferences 就会出现Account的配置界面,如图:
点击+可以选择Add Apple ID;点击View Details可以查看该Apple Id下的Certificates和Provisioning Profile证书文件,在这里你可以点击下载。
1.4.2 项目的配置
在项目Targets下的Identity中,Team选择对应的Apple ID 即可
在XCode的项目设置里,Provisioning Profile就可以选择对应的证书。
前期的准备工作就算完成了。
二、 ipa打包
2.1 Archive在线打包
在真机状态下选择Product——>Archive(如果不是真机状态下,Archive会是灰色不可用的),成功会弹出如下图:
网上说先点击Validate进行验证,虽说验证的过程有点小慢,但是为了审核顺利点,还是验证下为好(我这里遇到一个问题,提示iTunes Store operation failed
No suitable application records were found. Verify your bundle identifier"…………"is correct,我在Xcode中重新下载了所有的证书,挂了个VPN就可以了,VPN可以先不挂试试,下载所有证书在Xcode左上角Xcode->Preferences->Accounts->选择你的Apple IDs->View Details(这里加载可能比较慢)->Download All Profiles(这里加载可能也很慢))。
验证成功后点击Export导出ipa的包用与上传即可。
三、ipa提交App Store
3.1 在itunes中创建程序
登录开发者中心,选择Itunes Connect,进入后选择“我的App”如下图:
点击左上角的+选择“新建App”,根据自己的app然后填写相应的信息即可,因为项目较多,就不一一讲解了,但是其中的注意事项会写到:
1、选择语言的时候,简体中文是Simplified Chinese,不要再找Chinese了,找不到的(我就是)
2、套装ID与SKU主要是app的唯一标识吧,我是用的项目中Bundle Identifier的内容,即com.company.projectname
(App信息以及价格与定价根据app不同自己填写就可以了)
3.上传App Icon的时候,注意那个问号哦,需要上传1024*1024的,而且不能有圆角效果哦!
4.这里需要不同屏幕的截图,可以直接用模拟机运行后截图。待模拟器运行开始的时候,按住cmd+S, 模拟器的屏幕截图就直接保存在桌面上了。
5.上传的时候会提示“无法载入文件”的问题。原因是:截图保存的文件名有中文,修改下截图名称即可!
6.屏幕尺寸大家都可以查到,为了自己方便,简单备注下:
4.7英寸 ——>iphone6 5.5英寸——>iphone 6 plus 4英寸 ——>iphone5S 3.5英寸 ——> iphone 4S
7、ipa包的上传:我使用的是Applicaton Loader
点击选取,选择导出的ipa的文件,然后选择对应的信息,(上传我发现在早晨的时候上传最快十来分钟就好了,晚上上传我最长一次上传了二十多个小时都没有成功)(此处上传我遇到了提示信息为
Error ITMS-90168: “The binary you uploaded was invalid.”的错误
通过网上查找到解决步骤1:打开终端输入以下信息即可
cd ~/.itmstransporter
rm update_check*
mv softwaresupport softwaresupport.bak
cd UploadTokens rm *.token
很多人输入这个问题即解决了
但是我依旧不行,我刚开始使用的是Applicaton Loader 3.0,后来在stack Overflow上有人说用Applicaton Loader3.6的版本就可以了
Applicaton Loader3.6的版本只有通过Xcode进入,进入方式为下
)
上传成功后,30分钟~1小时差不多久可以在“构建版本”中看见你上传的app(我过了5分钟就看见了),如果有多个版本的话,需要在这里选择对应需要审核的版本即可成功之后,
8、不要忘记填写测试账号,否则会被拒的,而且一定要跟服务器同事说好,不要删除测试账号,否则同样被拒(我的App无需账号登录,我这里填写的是用户名:demo密码123456)
9、联系电话中需要加中国的区号+86后面是具体的联系电话,如:+86 15167896568
10、还有个IDFA的广告得到选择,看着提示如果出现偏差感觉都要搞砸的样子,所以找到网上一个选择,应该不会出错,(此处有三个选项,第一个为出口合规信息
第二个内容版权,第三个为广告标识符,我三个都选择的否,并没有按照原博主的选择)