一、前言:
作为一名iOSDeveloper,把开发出来的App上传到App Store是必要的。下面就来详细讲解一下具体流程步骤。
二、准备:
1、一个已付费的开发者账号(账号类型分为个人(Individual)、公司(Company)、企业(Enterprise)、高校(University)四种类型,每年资费分别为$99、$99、$299、免费。)。
2、一个已经开发完成的项目(无bug)。
三、检查:
1、你的Xcode必须是正式版的,beta版本的Xcode是不能上传项目的。
2、上传使用的Mac的OS X系统必须也是正式版的,beta版本也不行。
3、请确认你安装的Xcode是从App Store或者是开发者网站下载的,而不是从其它渠道获取的安装包安装的,因为非官方途径下载的Xcode可能带有XcodeGhost 病毒。如何检查?

四、生成发布证书:
1、打开苹果开发者中心:https://developer.apple.com,点击:Account

2、下面输入已付款过的Apple账号和密码登录(如果你的电脑已经保存了密码,会直接进入)

3、点击:Certificates,Identifiers,devices & Profiles
1>、生成证书「调试证书-iOS Development」「发布证书-iOS Distribution」「推送证书-APNs Development iOS」。发布证书又叫“生产证书”
2>、绑定Bundle Id 包名「App ID唯一标识,项目与账下的要同步。例如:com.zhida.zhihuanbao」
3>、绑定device设备「个人和公司账号可添加测试设备100台」「企业账号添加测试设备不限」
4>、生成描述文件“配置文件”「开发描述文件iOS App Development Profiles」「发布描述文件Distribution “Ad Hoc 临时/AppStore 正式”」

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

5、由于是做App上传,选择生产证书(选择App Store and Ad Hoc)

注意:一个开发者账号只能创建(1-2个开发(测试)证书,2-3个生产(发布)证书),如果你的App Store Ad Hoc前面的按钮不能选择,则代表你的这个账号无法再创建新的生产证书了。
解决方法:
1、从共同使用这个账号的人电脑上生成.p12文件,导入自己的电脑。(尽量不要执行下面第2步)
2、如果你想生成的话,把现有的删除一个(建议删除时间比较靠前的)。
注意:如果删除一个证书,那么正在使用这个证书的人将不能再使用了,除非重新生成,然后利用.p12重新导入自己的电脑里!
如果你想删除证书,执行下面步骤,否则略过。

然后接上上图,生产证书部分继续



6、上传CSR文件去获取证书(CSR文件需要我们到本机钥匙串里去创建)
1>、在Launchpad的其他里面,点击钥匙串访问弹出如下界面


2>、工具栏选择钥匙串访问->证书助理->从证书颁发机构请求证书...


3>、将CSR文件保存到MAC磁盘的某个位置(这里我选择的是桌面,进行存储)



7、然后回到浏览器,点击Choose File...

8、选择创建好的:CertificateSigningRequest.certSigningRequest文件,点击选取

点击Generate上传证书

9、跳转到如下界面,点击 DownLoad 下载生成的证书(cer后缀的文件),然后点击Done,你创建的发布证书就会存储在帐号中。


注意:这个证书只能下载一次。点击下载后,关闭页面后就不能再回到下载页面了。
如果不需要给别的电脑使用,则直接跳过下面附加项,跳转到第五步(绑定Bundle Identifier)
附加项:生成 p12文件在其他电脑上使用这个发布证书
1>、双击安装证书后,打开钥匙串访问,选择安装的证书右键单击

注意:如果没有导出,可以把这个证书删除,然后重新双击下载的证书文件安装。
2>、导出证书

3>、存储证书

注意:存储的文件格式一定要是.p12
4>、设置密码
可以为证书设置密码,也可以不设置密码;如果设置了密码,那么别人安装这个证书的时候就要输入密码,否则无法安装。这里就不设置密码了。

5>、保存导出的证书

如果需要在其它电脑上也能发布App,那么就必须要安装这个发布证书。
五、创建App IDs和绑定你的App的Bundle Identifier
回到刚才的页面:
https://developer.apple.com/account/ios/identifiers/bundle/bundleList.action
1、点击App IDs,进入如下界面,点击右上角的 + 号

2、填写App IDs和Bundle Identifier

注意:
1>、上传App使用的Bundle Identifier(不要有-,都是英文+数字)必须是固定的,不能使用占位符。
2>、如果你的Bundle Identifier已经在网站上绑定了,如果你又修改了你工程里面这个Bundle Identifier的话,需要重新进入到开发者账号里面绑定。

下面选择App中包含的服务,默认有两项,其余的根据自己项目的需求进行选择

3>、点击Continue

4>、点击Register

5>、点击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栏里输入一个名字(这个是Provisioning Profiles文件的名字,可随便输入,在这里我用工程名字,便于分别),然后点击Generate

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


七、在App Store开辟空间
1、回到Member Center,点击iTunes Connect

2、登录开发者账号(还是之前已付费的账号)

3、登录成功后,点击我的App

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

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

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

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

8、依次把不同尺寸的App截图拉入到对应的里面
需要填写不同尺寸的手机屏幕截图(也就是拿不同尺寸的模拟器运行后,挑出至少3页最多5页进行截图然后拖到响应的区里)(在模拟器Command+S 就可以保存屏幕截图到桌面了)(注意:如果提示拖进去的图片尺寸不对,则把模拟器弄成100%然后再Command+S) 尺寸参照表在下面

9、填写App简介

10、按提示依次输入

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

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

12、填写审核信息

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

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

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

4、配置发布证书(ps:大家注意一下记得在这里,要选择发布证书)

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

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



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




7、选择 Xcode-> Product -> Archive(专门用于上传项目,或者打包项目)



8、出现下图说明你没有添加开发者账号,点击右下脚Add... 按钮就可以添加

9、输入付费的开发者账号

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

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

11、Validate App 验证App信息,再提交上传






12、Distribute App分发上传到AppStore


注意:自Xcode 9及以上版本,只是简化了Xcode 8的文字描述而已。
Xcode9最新的,只是简化了 Xcode8的文字描述







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

14、打包导出到桌面




15、返回Itunes Connect网站上你自己的App信息中查看一下

16、在这个构建版本这里就可以添加代码

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

17、提交以供审核

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

九、补充
1、构建版本的方法有两种,一种是使用 Xcode(上面已经介绍了),另一种就是使用一个叫 Application Loader 这个软件:

<1>、使用Xcode构建版本:
上面已经介绍(已经Archive的话,可以在Xcode: Window -> Organizer进入)

<2>使用Application Loader 构建版本:
1>、如上图,点击Export...,导出一个ipa文件(ps:为了保险起见、让苹果审核顺利一点,这里可以先点击Validate...来验证一下,这里就懒得验证了)
2>、Application Loader下载Xcode的时候就已经下载了(没有的请自行下载),Xcode 右键弹出下面界面

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


选取你导出的ipa文件(或者双击“交付您的应用程序”选取ipa文件),之后按提示操作就行,上传完毕没有报错的话,过几分钟左右就可以在ITunes Connect 里面就可以看到你上传的这个版本了。

十、app版本更新
1、构建新版本
在 iTunes Connect 登陆你的开发者账号,进入到你要更新的APP,查看APP详细信息,点击下面的版本或平台按钮( 英文状态为:VERSION OR PLATFORM ),构建新版本

这里只需要在弹出框里填写新的版本号即可

2、上传Ipa包


选择新的构建版本,保存,然后提交审核就OK了!
网友评论