转载自ThomasYB
一、前言:
作为一名iOS开发者,把辛辛苦苦开发出来的App上传到App Store是件必要的事。但是很多人还是不知道该怎么上传到App Store上
下面就来详细讲解一下具体流程步骤。
二、准备:
一个已付费的开发者账号(可分为):
账号类型分为:
个人(Individual)
公司(Company)
企业(Enterprise)
高校(University)
四种类型
每年资费分别为99、99、$299、免费。
一个已经开发完成的项目。
三、检查:
安装的Xcode必须为正式版,beta版本的Xcode不能上传项目到App Store。
上传使用的 Mac 的 OS X系统必须也是正式版的,beta版本也不行。
请确认你安装的Xcode是从App Store或者是开发者网站下载的
因为非官方途径下载的Xcode可能带有XcodeGhost 病毒。如何检查?
四、生成发布证书
1.打开开发者中心网址:https://developer.apple.com
2.点击:Account
3.输入账号和密码登录
4.点击:Certificates, Identifiers & Profiles
专门生成证书,绑定Bundle Id,绑定device设备,生成描述文件的地方
5.点击Certificates生成证书
选择iOS, tvOS, watchOS
选择All
点击右上角新添加证书
6.选择生产证书(选择App Store and Ad Hoc)
1 注意:一个开发者账号只能创建(1-2个开发(测试)证书,2-3个生产(发布)证书),如果你的AppStoreAdHoc前面的按钮不能选择,则代表你的这个账号无法再创建新的生产证书了。2 解决方法:3 从共同使用这个账号的人电脑上生成.p12文件,导入自己的电脑。(尽量不要执行下面第2步)4 如果你想生成的话,把现有的删除一个(建议删除时间比较靠前的)。注意:如果删除一个证书,那么正在使用这个证书的人将不能再使用了,除非重新生成,然后利用.p12重新导入自己的电脑里!5 注意:如果你想删除证书,执行下面步骤,否则略过。
7.上传CSR文件去获取证书(CSR文件需要我们到本机钥匙串里去创建)
在Launchpad的其他里面,点击钥匙串访问弹出如下界面
工具栏选择钥匙串访问->证书助理->从证书颁发机构请求证书...

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

然后回到浏览器,点击choose File..
选择创建好的:CertificateSigningRequest.certSigningRequest 文件,点击选取
点击Generate上传证书
跳转到如下界面,点击 DownLoad 下载生成的证书(cer后缀的文件),然后点击Done,你创建的发布证书就会存储在帐号中。
1 注意:
2 这个证书只能下载一次。点击下载后,关闭页面后就不能再回到下载页面了。
3 如果不需要给别的电脑使用,则直接跳过下面附加项,跳转到第五步(绑定Bundle Identifier)
附加项:生成p12文件在其他电脑上使用这个发布证书
双击安装证书后,打开钥匙串访问,选择安装的证书右键单击
1 注意:如果没有导出,可以把这个证书删除,然后重新双击下载的证书文件安装。
导出证书
存储证书
注意:存储的文件格式一定要是.p12
设置密码
可为证书设置密码,也可不设置密码;如果设置了密码,那么别人安装这个证书的时候就要输入密码,否则无法安装。

五、创建App IDs和绑定你的App的Bundle Identifier
https://developer.apple.com/account/ios/identifiers/bundle/bundleList.action
1 注意:
2 上传App使用的Bundle Identifier,不能使用占位符。
3 如果你的Bundle Identifier已经在网站上绑定了,如果你又修改了你工程里面这个Bundle Identifier的话,需要重新进入到开发者账号里面绑定。
选择App中包含的服务,默认有两项


六、生成描述文件
找到Provisioning Profiles ,点击All,然后点击右上角 + 号
选择下面App Store这个描述文件,点击Continue

七、在App Store开辟空间
回到Member Center,点击iTunes Connect
注意:如果都填好以后,可能会告诉你,你的App名称已经被占用,那你只能改名了!


八、在Xcode中打包工程
找到你刚刚下载的发布证书(后缀为.cer)或者p12文件,和PP文件,双击,看起来没反应,但是他们已经加入到你的钥匙串中。
在Xcode中选择iOS Device(这里不能选择模拟器),按照下图提示操作

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







等待APP的审核...
八、补充
构建版本的方法有两种
一种是使用 Xcode(上面已经介绍了)
另一种就是使用一个叫 Application Loader 这个软件:

网友评论