一、证书的导出
1.1 前期工作
首先你需要有一个苹果的开发者帐号,一个Mac系统。
如果没有帐号可以在打开http://developer.apple.com/申请加入苹果的开发者计划。怎么申请网上有详细的介绍,因为我没有实际申请过,所以在此不多做介绍.
如果你已经有了一个IDP,打开https://developer.apple.com/并登录到苹果MemberCenter,登录以后可以看到下面这个界面,列出了你开发需要的一些工具,支持,itunes app管理等内容。见下:
选择Certificates, Identifiers & Profiles
以上是对应开发的不同版本对应的不同的配置,我上架的是手机版,所以就选择了iOS Apps 中的Certificates
1.2 申请App Id
选择App IDs ——>点击+创建一个新的App ID
其中有两项需要你自己填:
第一个Name,用来描述你的AppId,这个随便填,没有什么限制,最好是项目名称,这样方便自己辨识(不允许中文哦);
第二项Bundle ID (App ID Suffix),这是你appid的后缀,这个需要仔细。因为这个内容和你的程序直接相关,后面很多地方要用到,最好是com.yourcompany.yourappname的格式,我用的是项目中的Bundle ID(反正这样是最保险的)
第三项App Services,默认会选择2项,不能修改,只需要选择上自己需要的服务即可,不知道在哪里看到说是必须要选上推送,否则后面就没有办法修改了,但是我自己测试的是可以修改的。如果不放心的同学可以选择上哦!
然后点击Continue确认没有错的话直接点击Submit后点击Done即完成App Id的创建
Push Notifications 显示黄色警告是因为刚才点击需要推送服务,还没有配置,如果需要推送,请自行设置推送证书,极光推送地址//www.greatytc.com/p/a1c77003626d
1.3 创建证书
** 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,双击安装。(如果安装不上,可以直接将证书文件拖拽到钥匙串访问的列表中)
如果添加上去显示证书过期,或者无效需要更新WWDR系统证书下载证书地址https://developer.apple.com/certificationauthority/AppleWWDRCA.cer 下载之后 双击安装 ,到这还需要一步在登陆里面删除过期的证书 在系统里面 删除过期的证书 就可以完美的解决了。所有的证书 都可以使用了 ,有的需要删除,有的直接导入证书就可以显示有效了,看人品
1.3.2.2 Provisioning Profile证书制作:
到这一步证书还没凑全,想提交AppStore还需要PP证书。
下一步的选择项里会自动检测匹配你的AppID,另外下拉项中还可以选择wildCard格式。
注意:wildCard格式的证书没有推送,PassCard等服务的应用,慎重选择。
继续,这里有一个区别,因为PP证书的开发者证书需要真机调试,所以我们需要绑定真机,这里因为之前我添加过一些设备,所以这里就可以直 接全选添加,如果没有的话,需要将真机的udid复制出来在此添加,在发布PP文件中,是没有这一步的。
之后就是输入一个PP证书的名字了,然后生成,下载保存,双击就添加到Xcode中,这样在真机调试或者发布时,就可以分别有不同的PP证书与其对应。【其实可以不用下载保存,具体原因后面会介绍到】
1.4 配置项目环境
1.4.1 Account的配置
Xcode——>Preferences (快捷键command + , ) 后面是逗号 , 就会出现Account的配置界面,如图:
点击+可以选择Add Apple ID;点击View Details可以查看该Apple Id下的Certificates和Provisioning Profile证书文件,在这里你可以点击下载.
1.4.2 项目的配置
在项目Targets下的Identity中,Team选择对应的Apple ID 即可 在XCode的项目设置里,Provisioning Profile就可以选择对应的证书。
##注:有的需要选,有的不需要选,我也不是很清楚,项目里面选择会报错,不选就没事,看人品吧,我是渣渣,研究不是很透
还有一步,我参考的文章上面没有,我补一下
选择这里会弹出视图,但弹出视图截不了图,选择 Edit Scheme ....
Debug 更换成Release
前期的准备工作就算完成了.
二、 ipa打包
2.1 Archive在线打包
在真机状态下选择Product——>Archive(如果不是真机状态下,Archive会是灰色不可用的),成功会弹出如下图:
如果报这个错在项目Targets下的Identity中,Team选择对应的Apple ID 即可 在XCode的项目设置里,Provisioning Profile选择为
网上说先点击Validate进行验证,虽说验证的过程有点小慢,但是为了审核顺利点,还是验证下为好 ,验证可能会报很多错文章后面有几个经常碰到的错
三、ipa提交App Store
3.1 在itunes中创建程序 登录开发者中心,选择Itunes Connect,进入后选择“我的App”如下图:
点击左上角的+选择“新建App”,根据自己的app然后填写相应的信息即可,因为项目较多,就不一一讲解了,但是其中的注意事项会写到:
1、选择语言的时候,简体中文是Simplified Chinese
2、套装ID与SKU主要是app的唯一标识吧,我是用的项目中Bundle Identifier的内容,即com.mohs
App信息以及价格与定价根据app不同自己填写就可以了)
3.上传App Icon的时候,注意那个问号哦,需要上传1024*1024的,而且不能有圆角效果
4.这里需要不同屏幕的截图,可以直接用模拟机运行后截图。待模拟器运行开始的时候,按住cmd+S, 模拟器的屏幕截图就直接保存在桌面上了.或者真机调试截图发到电脑,自己用电脑调大小,苹果电脑自带的,
5.上传的时候会提示“无法载入文件”的问题。原因是:截图保存的文件名有中文,修改下截图名称即可!
6.屏幕尺寸大家都可以查到,为了自己方便,简单备注下:
4.7英寸 ——>iphone6 --------750×1334 px
4英寸 ——>iphone5S -------- 640×1136 px
3.5英寸 ——> iphone 4S------640×960 px
5.5英寸——>iphone 6 plus ---1242×2208 px
如果上传还需要你上传ipad截图,公司项目不需要ipad,在这跟换成iphone
直接选择你上传那个app就行
不要忘记填写测试账号,否则会被拒的,而且一定要跟服务器同事说好,不要删除测试账号,否则同样被拒
9、联系*****中需要加中国的区号+86后面是具体的联系*****,如:+86 13800138000
10、还有个IDFA的广告得到选择,看着提示如果出现偏差感觉都要搞砸的样子,所以找到网上一个选择,应该不会出错
大功告成了,希望可以帮到别人,也希望自己不要忘记
如果有问题可以在文章下面留言,看到我会回的
##QQ:252875351
**报错信息
ERROR ITMS-90046 /90085: "Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, value '*' for key 'com.apple.
原因 : 生成的API 分析文件过大,系统不能在提交前,完成API使用信息的校验。
解决办法: command+Shift + K clean 下 Xcode 缓存,重新打包上传 即可。
原因及解决办法:打包的同一个版本,每次编包build号(就是上面说的CFBundleVersion)要递增。比上一个版本大,如下图
原因 : 找不到120x120的图标
解决:在info.plist里面添加 icon files 的key
<key>CFBundleIconFiles</key>
<array>
<string>120x120.png</string>
</array>
还有其他的错自行百度,善用搜索.
本文参考地址:http://www.cocoachina.com/bbs/read.php?tid=330302====