App上架流程
App上架流程简单的说,大致分为7步:
1)申请AppleId
2)加入开发者帐号
3)配置发布证书
4)限制App
5)生成描述文件
6)新建App
7)构建版本
下面我们就详细的说说App上架流程:
一,打开苹果开发者中心:https://developer.apple.com,
登录自己的apple帐号,选择account.(如果看不懂,可以用浏览器把网页翻译成中文).
二,Certificates, Identifiers & Profiles (专门生成证书,绑定Bundle Id,绑定device设备,生成描述文件的地方)

三,点击Certificates生成证书
1,选择iOS, tvOS, watchOS
2,选择All
3,点击右上角新添加证书

4,根据需要选择若是App上传,选择生产证书(选择App Store and Ad Hoc),若是测试,选择测试证书(选择iOS App Development).在这里我们是要上传到appStore,所以要选择生产证书.

注意:一个开发者账号只能创建(1-2个开发(测试)证书,2-3个生产(发布)证书),如果你的App Store Ad Hoc 前面的按钮不能选择,则代表你的这个账号无法再创建新的生产证书了,如下图所示:

如果出现这种情况,该怎么解决呢?
第一种:首先,我们最先想到的办法应该是删除以前创建的(建议删除最早生成的).但是这种方法有弊端,如果有人正在用这个证书,你把它删除了,那么别人也就没法用了.所以这种方法,不建议大家使用.
第二种:就是从使用这个帐号的人的电脑上导出p12文件,然后导入自己的电脑.推荐使用这种方法.
好了,下面我们言归正传,继续讲生成生产证书.
选择App Store and Ad Hoc之后,点击continue,

然后,继续continue,

再continue,之后出现下图:

这里是让我们上传CSR文件去获取证书
5,本机钥匙串里去创建CSR文件
1)在Launchpad的其他里面,点击钥匙串访问,然后选择证书助理,选择从证书颁发机构请求证书,如图:

弹出如下框,填写常用邮件地址,名称,选择存到磁盘,点击继续即可.

6,回到浏览器,点击上传CSR文件,把刚刚用钥匙串生成的CSR文件上传上去,点击continue.
7,这时跳到下面界面,点击 DownLoad 下载生成的证书(cer后缀的文件),然后点击Done,你创建的发布证书就会存储在帐号中。

注意:这个证书只能下载一次。点击下载后,关闭页面后就不能再回到下载页面了。
如果需要在别的电脑使用,则需要生成p12文件,供其他电脑使用.
1)双击安装证书后,打开钥匙串访问,选择安装的证书右键单击

2)导出证书

3)存储证书(注意:存储格式一定要是.p12)

4)点击存储,会弹出设置密码的框.
可以为证书设置密码,也可以不设置密码;如果设置了密码,那么别人安装这个证书的时候就要输入密码,否则无法安装。
以上就是创建p12文件的方法,当然若是自己的电脑使用生产证书,就没有必要生成p12文件了,可以直接进行下一步.
四,创建App IDs和绑定App的Bundle Identifier
1,点击App IDs,进入如下界面,点击右上角的 + 号

弹出下图,填写appleID,和bundleID

注意:Bundle Identifier(不要有-,都是英文+数字)必须是固定的,不能使用占位符。
如果你的Bundle Identifier已经在网站上绑定了,如果你又修改了你工程里面这个Bundle Identifier的话,需要重新进入到开发者账号里面绑定。
下面选择App中包含的服务,默认有两项,其余的根据自己项目的需求进行选择,然后点击continue,点击register,再点击done就可以了.

五,生成描述文件(描述文件的作用就是把证书和Bundle Identifier关联起来)
1,找到Provisioning Profiles ,点击All,然后点击右上角 + 号

2,弹出下图,因为是发布,所以选择下面App Store这个描述文件,点击Continue

3,在App ID 这个选项栏里面找到你刚刚创建的:App IDs(Bundle Identifier) 类型的套装,点击Continue

4,选择你刚创建的发布证书(或者生成p12文件的那个发布证书),根据自己电脑上的发布证书日期来选择,点击Continue

5,在Profile Name栏里输入一个名字(这个是PP文件的名字,可随便输入,在这里我用工程名字,便于分别),然后点击Generate

6,Download生成的PP文件,然后点击Done,双击安装(闪一下就完事了,没其它效果)

到此为止,证书部分弄好了,接下来就是在App Store操作了.
六,到App Store 开空间
1),回到Member Center,点击iTunes Connect

2),登录开发者帐号,点击我的App,

3),点击左上角那个+号,点击新建(注意:我们是iOS App开发,不要选Mac App啦)

4),按提示填入对应信息(SKU是公司用于做统计数据之类的id,根据公司需求填写),然后点击创建

注意:如果都填好以后,可能会告诉你,你的App名称已经被占用,那么不好意思,你只能改名了!(而且建议大家起名不要往比较出名的App上靠,否则审核可能会被拒绝)
5),填写App其它信息

6),填写价格和销售范围(由于我的开发者账号没有签订纳税合同,所以不能上线收费应用,所以只能暂时免费)

7),依次把不同尺寸的App截图拉入到对应的里面
需要填写不同尺寸的手机屏幕截图(也就是拿不同尺寸的模拟器运行后,挑出至少3页最多5页进行截图然后拖到响应的区里)(在模拟器Command+S 就可以保存屏幕截图到桌面了)

注意:如果提示拖进去的图片尺寸不对,则把模拟器弄成100%然后再Command 加 S) 尺寸参照表在下面

8)填写App简介

9)按提示依次输入

注意:如果上传App 图标失败,提示Alpha错误的话,看下面。
打开你的图标图片,勾掉这个

10)点击分级后面的编辑,如实填写后,点击完成

11)填写审核信息
版本发布就是:(然后最下面选择自动发布的话就是如果审核通过,就自动上传到App Store供人下载)

12)此时这个构建版本还没有生成,我们先把基本信息填写完毕,然后再进入Xcode中把项目打包发送到过来。
注意:填写完一定要点击右上角的保存。
App store弄好了,就需要打包工程了.
七,Xcode打包工程
找到你刚刚下载的发布证书(后缀为.cer)或者p12文件,和PP文件,双击,看起来没反应,但是他们已经加入到你的钥匙串中。
1,在Xcode中选择iOS Device(这里不能选择模拟器),按照下图提示操作

2,如果你的应用不支持横屏,把这两个勾去掉

3,查看版本号和构建版本号

4,配置发布证书(ps:截图时选择的证书是错误的,大家注意一下,要选择发布证书)

注意:如果这里没有黄色叹号,代表你的配置没问题,如果有,那就是证书和描述文件不匹配,或者描述文件里刚才选的Bundle和现在的工程的Bundle Identifier不一致,去develop.apple.com 上找到你的描述文件在确认下绑定的bundle Identifier和你工程是不是一样的?

5,将断点、全局断点,僵尸模式等都要去掉。

6.设置Release模式(Debug是测试的,Release是发布用的)




7.选择 Xcode下 Product 下 Archive(专门用于传项目,或者打包项目)



8.出现下图说明你没有添加开发者账号,点击Add... 按钮
添加付费的开发者账号

可能会弹出下面这个界面,如果不弹出,按Command加。

9.然后回到Archive(选择已付费的账号),然后点击Choose

等待

10.选择Upload提交

如下就代表上传成功,如果出错,请参照iOS App上传项目遇到
的问题

11,返回ItunesConnect网站上你自己的App信息中查看一下

12.在这个构建版本这里就可以添加代码

点击+号之后选择代码版本

13.提交以供审核

14.App已经从准备提交,变成正在等待审核状态

进行到这时候,我们要做的只有等待苹果审核了.
知识点补充:
构建版本:1,使用 Xcode(上面已经介绍了:已经Archive的话,可以在Xcode: Window -> Organizer 进入)
2,使用一个叫 Application Loader 这个软件
1)如上图,点击“Export...”,导出一个ipa文件(ps:为了保险起见、让苹果审核顺利一点,这里可以先点击“Validate…”来验证一下,这里就懒得验证了)
2)Application Loader下载Xcode的时候就已经下载了(没有的请自行下载),Xcode 右键弹出下面界面

3)打开Application Loader(如果没有登录,会提示你登录你的开发者账号)

选取你导出的ipa文件(或者双击“交付您的应用程序”选取ipa文件),之后按提示操作就行,上传完毕没有报错的话,过几分钟左右就可以在iTunes Connect 里面就可以看到你上传的这个版本了。
另外,在上架过程中,我们也可能审核被拒,审核被拒原因有很多,比如说,在App内部的功能用的是支付宝支付或其他第三方支付,但是没有使用内购功能.
如果我们时间紧迫,希望快点通过审核,还可以向苹果发送邮件,要求加急审核.