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

四、生成发布证书
打开苹果开发者中心:https://developer.apple.com,点击:
Account
苹果开发者中心下面输入已付款过的
Apple
账号和密码登录(如果你的电脑已经保存了密码,会直接进入)开发者登录账号点击:
Certificates
,Identifiers & Profiles
(专门生成证书,绑定Bundle Id
,绑定device
设备,生成描述文件的地方)Member Center点击
Certificates
生成证书- 选择
iOS, tvOS, watchOS
- 选择
All
- 点击右上角新添加证书
添加新证书1- 选择
由于是做
App
上传,选择生产证书(选择App Store and Ad Hoc
)

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

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



上传
CSR
文件去获取证书(CSR
文件需要我们到本机钥匙串里去创建)在
Launchpad
的其他里面,点击钥匙串访问弹出如下界面其他钥匙串访问工具栏选择钥匙串访问->证书助理->从证书颁发机构请求证书...
请求证书
证书信息- 将
CSR
文件保存到MAC
磁盘的某个位置(这里我选择的是桌面,进行存储)
存储证书点击完成CertificateSigningRequest.certSigningRequest 文件然后回到浏览器,点击
Choose File...

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

点击Generate
上传证书

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


注意:这个证书只能下载一次。点击下载后,关闭页面后就不能再回到下载页面了。
如果不需要给别的电脑使用,则直接跳过下面附加项,跳转到第五步(绑定Bundle Identifier
)
附加项:生成 p12
文件在其他电脑上使用这个发布证书
双击安装证书后,打开钥匙串访问,选择安装的证书右键单击
安装的发布证书
注意:如果没有导出,可以把这个证书删除,然后重新双击下载的证书文件安装。
导出证书
导出证书存储证书
存储导出的证书注意:存储的文件格式一定要是
.p12
设置密码
可以为证书设置密码,也可以不设置密码;如果设置了密码,那么别人安装这个证书的时候就要输入密码,否则无法安装。这里就不设置密码了。设置密码保存导出的证书
p12发布证书如果需要在其它电脑上也能发布
App
,那么就必须要安装这个发布证书。
五、创建App IDs和绑定你的App
的Bundle Identifier
回到刚才的页面:https://developer.apple.com/account/ios/identifiers/bundle/bundleList.action
- 点击App IDs,进入如下界面,点击右上角的 + 号

- 填写
App IDs
和Bundle Identifier

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

下面选择App
中包含的服务,默认有两项,其余的根据自己项目的需求进行选择
点击
Continue
点击continue点击
Register
点击Register点击
Done
点击Done
六、生成描述文件(描述文件的作用就是把证书和Bundle Identifier
关联起来)
找到
Provisioning Profiles
,点击All
,然后点击右上角+
号Provisioning Profiles因为是发布,所以选择下面
App Store
这个描述文件,点击Continue
选择App Store在App ID 这个选项栏里面找到你刚刚创建的:
App IDs
(Bundle Identifier
) 类型的套装,点击Continue
选择发布项目的Bundle Identifier选择你刚创建的发布证书(或者生成p12文件的那个发布证书),根据自己电脑上的发布证书日期来选择,点击Continue
选择创建的发布证书在
Profile Name
栏里输入一个名字(这个是Provisioning Profiles
文件的名字,可随便输入,在这里我用工程名字,便于分别),然后点击Generate
给描述文件起个名字Download
生成的PP文件,然后点击Done
,双击安装(闪一下就完事了,没其它效果)Download生成的PP文件生成的描述文件
六、在App Store
开辟空间
回到
Member Center
,点击iTunes Connect
点击iTunes Connect登录开发者账号(还是之前已付费的账号)
Snip20160315_68.png登录成功后,点击
我的App
点击我的App点击左上角那个
+
号,点击新建(注意:我们是iOS App
开发,不要选Mac App
啦)新建 App依次按提示填入对应信息(
SKU
是公司用于做统计数据之类的id
,根据公司需求填写),然后点击创建填写App信息注意:如果都填好以后,可能会告诉你,你的
App
名称已经被占用,那么不好意思,你只能改名了!(而且建议大家起名不要往比较出名的App
上靠,否则审核可能会被拒绝)填写
App
其它信息App信息填写价格和销售范围(由于我的开发者账号没有签订纳税合同,所以不能上线收费应用,所以只能暂时免费)
填写价格和销售范围依次把不同尺寸的
App
截图拉入到对应的里面
需要填写不同尺寸的手机屏幕截图(也就是拿不同尺寸的模拟器运行后,挑出至少3页最多5页进行截图然后拖到响应的区里)(在模拟器Command+S
就可以保存屏幕截图到桌面了)(注意:如果提示拖进去的图片尺寸不对,则把模拟器弄成100%然后再Command+S
) 尺寸参照表在下面设置不同尺寸的App截图尺寸参照图
尺寸参照图填写
App
简介填写App简介按提示依次输入
按提示依次输入错误提示:如果上传
App
图标失败,提示Alpha
错误的话,看下面。
打开你的图标图片,勾掉这个勾掉这个点击分级后面的编辑,如实填写后,点击完成
分级信息填写审核信息
填写审核信息版本发布就是:(然后最下面选择自动发布的话就是如果审核通过,就自动上传到
App Store
供人下载)此时这个构建版本还没有生成,我们先把基本信息填写完毕,然后再进入
Xcode
中把项目打包发送到过来。
注意:填写完一定要点击右上角的保存。
七、在Xcode中打包工程
找到你刚刚下载的发布证书(后缀为.cer
)或者p12
文件,和Provisioning Profiles
文件,双击,看起来没反应,但是他们已经加入到你的钥匙串中。
在
Xcode
中选择iOS Device
(这里不能选择模拟器),按照下图提示操作选择iOS Device如果你的应用不支持横屏,把这两个勾去掉
如果你的应用不支持横屏,把这两个勾去掉查看版本号和构建版本号
查看版本号和构建版本号配置发布证书(ps:截图时选择的证书是错误的,大家注意一下,要选择发布证书)
配置发布证书注意:如果这里没有黄色叹号,代表你的配置没问题,如果有,那就是证书和描述文件不匹配,或者描述文件里刚才选的
Bundle
和现在的工程的Bundle Identifier
不一致,去https://develop.apple.com 上找到你的描述文件在确认下绑定的Bundle Identifier
和你工程是不是一样的?检查将断点、全局断点,僵尸模式等都要去掉。
去掉断点、全局断点
6.设置Release
模式(Debug
是测试的,Release
是发布用的)


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



8.出现下图说明你没有添加开发者账号,点击右下脚Add...
按钮就可以添加
9.输入付费的开发者账号
可能会弹出下面这个界面,如果不弹出,按Command
加。
10.然后回到Archive
(选择已付费的账号),然后点击Choose
然后等待
11.选择Upload
提交
12.如下就代表上传成功,如果出错,请参照iOS App上传项目遇到的问题
13.返回Itunes Connect
网站上你自己的App信息中查看一下
14.在这个构建版本这里就可以添加代码
点击+
号之后选择代码版本
15.提交以供审核
16.App
已经从准备提交,变成正在等待审核状态
17.等待苹果的审核...
八、补充
1、构建版本的方法有两种,一种是使用 Xcode
(上面已经介绍了),另一种就是使用一个叫 Application Loader
这个软件:

使用
Xcode
构建版本:
上面已经介绍(已经Archive
的话,可以在Xcode: Window -> Organizer
进入)Upload to App Store…使用
Application Loader
构建版本:- 如上图,点击
Export...
,导出一个ipa文件(ps:为了保险起见、让苹果审核顺利一点,这里可以先点击Validate...
来验证一下,这里就懒得验证了) Application Loader
下载Xcode
的时候就已经下载了(没有的请自行下载),Xcode
右键弹出下面界面Open Developer Tool打开
Application Loader
(如果没有登录,会提示你登录你的开发者账号)Application Loader选取你导出的
ipa
文件(或者双击“交付您的应用程序”选取ipa
文件),之后按提示操作就行,上传完毕没有报错的话,过几分钟左右就可以在ITunes Connect
里面就可以看到你上传的这个版本了。构建版本
- 如上图,点击
补充就这些吧,后面遇到再补充吧!个人建议构建版本使用Application Loader
上传
作者:DeveloperLY
链接:https://www.jianshu.com/p/b1b77d804254
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
iOS App上架流程(2016详细版)来源DeveloperLY的更多相关文章
- iOS App上架流程(2016详细版)
iOS App上架流程(2016详细版) 原文地址:http://www.jianshu.com/p/b1b77d804254 感谢大神整理的这么详细 一.前言: 作为一名iOSer,把开发出来的Ap ...
- iOS App上架流程(2016详细版
http://www.jianshu.com/p/b1b77d804254 iOS App上传项目遇到的问题 http://www.jianshu.com/p/9195cd991fc7
- iOS - App上架流程(复习+已用xcode8)
一.前言: 今天又要上架一款APP,顺便来复习一下APP上架流程 下面就来详细讲解一下具体流程步骤. 二.准备: 一个已付费的开发者账号(账号类型分为个人(Individual).公司(Company ...
- iOS App 上架流程
iPhone App 上架流程 1. 申请 App ID (1) 连到 Devel ...
- 史上最用心的 iOS App 上架流程
题记 麻痹起来嗨!看网上那么多的教程,依然在我心爱的爱屁屁在上架的时候遇到各种 J8 问题,最大的问题就是:Xcode 证书什么的,Provisioning Profile 什么的,Debug 什么的 ...
- iOS:App上架流程和支付宝支付流程
App上架大致流程: 1.花99美元在苹果开发中心注册一个开发者账号: 2.登陆开发者账号,进入member Center,即开发者成员中心: 3.选取证书标示符(certificates Ident ...
- 苹果iOS App上架流程,非iOS开发人员上架教程
iOS应用上线发布流程一般包含相关证书文件的配置.Xcode的设置.App Store Connect填写App的相关信息.ipa包上传.审核结果以及相关邮件回复.相关证书文件的配置与Xcode的 ...
- 史上最用心的iOS App上架流程【转】
转:http://www.jianshu.com/p/16fa56eacb5e 题记 麻痹起来嗨!看网上那么多的教程,依然在我心爱的爱屁屁在上架的时候遇到各种 J8 问题,最大的问题就是:Xcode ...
- [iOS]App上架流程[利用Archive进行上传]
今天给大家带来项目如何上架的教程 准备: 1. 一个开发者账号(需要交过钱的,
随机推荐
- SQL Server常用函数使用方法(学习)
1.转载至 https://www.cnblogs.com/Brambling/p/6779434.html Substring()函数,用于截取字符串方法,三个参数 参数1:用于指定要操作的字符串 ...
- .NET Core微服务之基于MassTransit实现数据最终一致性(Part 1)
Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.预备知识:数据一致性 关于数据一致性的文章,园子里已经有很多了,如果你还不了解,那么可以通过以下的几篇文章去快速地了解了解,有个感性认 ...
- eclipse升级Android SDK Tool版本到25.2.5后运行项目报错Unable to build: the file dx.jar was not loaded from the SDK folder
概述 由于最近通过SDK-Manager更新了build-tools,当要用到dx.jar这个包时,自动调用最新版本Android SDK build-tools中dx.jar,但是运行android ...
- C# 委托基础1.0
在C# 1.0中提出了一种新特性叫作:委托.委托本质上一种类型.是对特定方法的抽象,定义委托后,可以将方法封装,把方法当参数,传递 using System; using System.Collect ...
- c# 制作正方形图片
using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Drawing2D ...
- .NET redis cluster
一.下载Windows版本Redis 下载链接:https://github.com/MSOpenTech/redis/releases(根据系统选择对应版本) 二.修改默认的配置文件 如上图两个配置 ...
- MySQL字段操作与数据处理
一,对字段的操作 1.拼接字段:Concat()函数 多数DBMS使用 + 或者 || 来实现拼接,而MySQL使用 Concat() 函数来实现拼接. 实例: Concat()函数拼接时加上的字符需 ...
- python的学习笔记01_2变量 常量 注释 用户交互 格式化输出
变量是什么? 变量的作用 Variables are used to store information to be referenced and manipulated in a computer ...
- 复活广州.net俱乐部
上个月张队长在深圳搞了一场活动,我们广州这边的.net粉丝也去了几个,我刚好有辆破车,于是我们一车会合后出发去深圳参加活动了,和大家在车上的交流使我感触良多.只说几点和本文相关的: .net在中国的生 ...
- python从任意文件读取邮件地址输出的代码
如下的资料是关于python从任意文件读取邮件地址输出的代码. # This script takes whatever you throw at stdin and outputs email ad ...