iOS App打包上架的流程
一、申请苹果开发者账号
首先需要申请苹果开发者账号才能在APP store 里发布应用。
开发者账号分为:(1)个人开发者账号 (2)企业开发者账号 主要的区别是:点击打开链接
1.个人开发者以及企业开发账号申请:点击打开链接
其中企业申请的时候需要邓白氏编码:
1.1 公司的邓白氏编码
给苹果公司发个邮件(或则直接拨打苹果开发者服务热线:4006 701 855 2)。他会给你提供免费注册邓白氏码的网址。直接注册就好.
https://developer.apple.com/ios/enroll/dunsLookupForm.action
1.2 公司的营业执照副本和公司中英文名对照证明
证明你公司英文名的信件(这个其实只要一句话说一下就好了,比如你就写此信标明我们公司的英文名是 XXXX就ok了),公司盖章。
很多国内公司都无法传真到国外,这个时候你可以使用网络传真,推荐用 http://faxzero.com/
1.3 一张开通VISA或MASTER的信用卡
可以是个人的,提交帐号给Apple代扣款($99美金)
2、 步骤
2.1 申请邓白氏码
首先要申请邓白氏码,在申请的第二天你就会接到电话,跟邮件。那个邮件不是邓白氏码。而是你的申请码。最好是留着吧。是个十位码, 大约中午的时间你会接到华夏邓白氏的电话。就是跟你核对一下资料。大约晚上的时候,你就会接受到新的邮件。那个才是邓白氏码。这个邓白氏码是无效的,需要等至少14天后才可以使用.
等14天后,去ios develop网站申请公司开发者账号,如果提示邓白氏码无效,则给苹果开发者中心打电话,告诉他邓白氏无效,她会处理(可能是和邓白氏联系)过几天(具体几天客服会告诉你)邓白氏码就可用了。
然后你会填公司信息的时候可能会遇到提示说公司信息和苹果数据库中的信息不符(其实是邓白氏的数据库与苹果的数据库未同步),不要着急,接着打电话,她会告诉你在苹果数据库中的公司信息。然后告诉你一个邓白氏的联系邮箱(这个邮箱是邓白氏专为申请苹果公司开发者账号使用的)你把苹果数据库中的公司信息发给邓白氏让它更改。再等14天,再去申请,一切就ok了.这种情况不是每个人都会遇到。如果信息相符,那是最好的了。不用再等14天了。
PS:耐心等待14天后再注册,邓白氏码有尝试次数限制。
2.2 信息注册
申请完邓白氏码后,就是去注册iOS公司开发者账号了, 到 http://developer.apple.com/programs/ios/ 这个开发者账号注册入口,开始enroll(注册)。如果你已经有apple的个人账号了,那你可以将你的个人账号作为开发者账号,不然你就新申请一个账号。
当让你选择你是注册成为个人或者公司时,请选择公司。注册是填信息一定要注意,不要乱填,要真是填写,不然后面验证时你就麻烦了。当问你你要选择那个开发平台时,你要选择ios.
当你注册完个人apple账号,就会转入公司信息填写。公司信息填写也要真实填写,这个是会和你的公司营业执照挂钩的,后面审核会用到。注册信息只能是用英文的,所以对于没有英文名的公司和地址,都要先去处理这些东西了。填写完公司信息,下一步就是填写邮件(这个后期会用来跟apple开发者中心联系)和代表人(你可以选择你自己或者你老板的名称,都可以)。接下来就是等待对方审核了,这一般会等待1-2天,如果审核过了,对方会给你发邮件。
PS:代表人,及legal entity字段,必须与申请邓白氏码时填写的一致,否则无法通过,这个即是上面说的数据库信息不符的字段。
2.3 传真资料
apple那边如果通过了你的公司信息,就会发邮件要你传送资料过去(对方会用 devenroll@apple.com这个邮件)。你需要传送你的公司营业执照,一封证明你公司英文名的信件(这个其实只要一句话说一下就好了,比如你就写此信标明我们公司的英文名是 XXXX就ok了),公司盖章。然后传真过去。很多国内公司都无法传真到国外,这个时候你可以使用网络传真(我就是这么做的),推荐用 http://faxzero.com/
这一步是最麻烦的,要等3-4天的审核期
PS:实在不行可以传真到亚洲苹果并请他们转交苹果开发者团队。 不过苹果不推荐这么做。
2.4 电话验证
如果你的传真对方通过了,对方会发邮件给你,让你打电话进行验证。里面有个中文区电话,你可以选择打这个电话。
2.5 付款
电话验证完,一般几分钟你就会收到邮件让你付款。apple是不开通国内在线付款的,所以,你得填一张purchaseform。你要准备一张跨国的信用卡(比如visa,或者mastercard等),把你的信用卡信息填进去,然后吧purchase form再次传真过去。基本上等2天后,如果对方通过你的付款,你就正式开通啦。
2.6 激活账号
付完款后,账号基本就开通了,然后苹果会发一个激活账号的邮件,邮件中有激活码,直接点激活码去激活。
到这里开发者账号申请结束。
二、申请APPID
1 添加BundleID

点击添加之后

选择要发布的商店

最后提交就好了
2 连接iTunesConnect
刚激活的账号暂时无法登录iTunesConnect,需要等苹果给你发一封关于可以登录的邮件后才能登录,否则会说你无权限。

3 创建新应用
3.1 登录iTunes Connect后,点击“管理你的应用” 进入管理页。

3.2 点击“添加新的应用”按钮

前两个就不说了,第三个SKUNumber什么意思我也不知道,为了保持唯一,并好记,就和BundleID一样。第四个BundleID一经选择,就不能更改,所以要谨慎选择。
3.3 设置生效时间和价格

这里的价格是按层级来的,并不是具体的多少钱,Tier 1为1美元,在中国商店就相当于6元人民币。
注意下面还有一个你的APP发布的商店,默认是所有商店都发布。

3.4 设置APP信息
包括版本号,所有权

还有APP的内容描述,默认都选择None,根据自己的APP实际情况

然后是一些元数据,关于APP的描述,用于显示在APPStore中。关键字用于用户可以利用这些关键字搜索到你的APP。SupportURL是当你的APP出现问题时,用户可以联系的地址。

接着是APPStore审核的反馈信息,包括联系人信息,以及提供APP的测试账号。

最后是上传Icon、屏幕截图,屏幕截图不超过5张。

提交,就有APP ID了。

4 PS:
注意现在的状态为Preparefor Upload,点击ViewDetails, 进入后点击“Readyto Upload Binary”

接着会询问你是否使用加密功能,选择后保存。

现在的状态为“WaitingFor Upload”了。
三、上传应用
1 创建CSR文件
1.1 打开电脑中的钥匙串,在应用程序中找到

1.2 选择导航栏中下面的选项

1.3 然后输入用户邮箱,名字,选择保存到硬盘。

注意:用户的Email 是开发者账号的邮箱,CA邮箱可以不用填写,前提是你选择的是存储到硬盘
这时在本地就生成了一个这样的文件
 (这个文件在开发者中心生成发布证书的时候需要用到)
(这个文件在开发者中心生成发布证书的时候需要用到)
2 创建发布证书
2.1 选择App Store

2.2 上传刚刚创建的CSR文件

2.3 上传后证书创建成功,下载到本地。

2.4 双击该文件,加入到钥匙串中。

这样做的目的就是为你的电脑安装发布许可证,只有这样你的电脑才能发布程序
3 创建ProvisioningProfiles
3.1 选择APP Store

3.2 选择App ID

3.3 选择证书

这个证书也就是刚刚生成的那个证书,在这我遇到的一个错误就是,有两个证书,我选择了一个错误的,结果打包出来的描述文件有问题,导致发布失败。
3.4 命名

选择的名字,在安装到Xcode的时候可以看得见。
3.5 最后提交后下载ProvisioningProfiles文件到本地,双击打开添加到Xcode中。
4 Xcode设置
4.1 设置target
这里的BundleIdentifier必须和前面申请的BundleID一致;版本号也必须和前面申请AppID时的版本号一致。


4.2 修改签名文件,必须选择前面创建的ProvisioningProfiles文件

4.3 添加发布配置
如果没有添加一个

接下来就是打包程序
在我们的xcode 中有一个打包的按钮

打好包后,它会自动弹出来,也可以在 orignize 查看


之后就是验证信息,点击上图的Validate 进行验证一下,确定没问题了在提交。不验证也可以提交,但是如果不验证的话有问题会很麻烦,最好养成先验证后提交的好习惯。
点击验证后,出现一下图框,在这边输入开发者的账号和密码,点next

选择一个描述文件(具有发布证书的描述文件)

这个界面说明你的app没问题,如果有问题的话会提示错误或警告,有错误的要要重新修改你的app再次打包验证,有一些警告可以不做修改直接提交,这个纯粹是看你是否完美主义。

第三步——将应用提交到app store
苹果推荐用xcode自带的application loader 来提交我们的应用,但是除了用这个以外还能用其他的,下面来分别介绍。
第一种——直接将应用发到app store去(不推荐)
点击distribute

选择



点击submit后就可以提交了
第二种,用xcode自带的application loader来提交我们的应用。(推荐)
和上述方法第一步相同点击distribute,但是选择第二个选项

这里将生成一个ipa供我们保存到本地

保存好后,选择 xcode — open develop
er tool — application loader

看到如下图片,填好信息后,就可以上传了



这边点击“选取”后,将我们刚刚存在本地的.ipa 文件上传就可以了



上传成功,这个时候,可以看到你的app的状态也变成了 waiting for review 。上传完成后的5、6天可以查看我们应用的状态看有没有改变,没改变也不用着急,当苹果审核时,状态会变成 in review。接下来你就可以知道你的应用是成功了还是被拒绝了。
iOS App打包上架的流程的更多相关文章
- IOS App打包发布完整流程
		注册成为开发者 登录苹果开发者中心,点击Accounts,在这里需要你填写你的Appple ID进行登录,如果没有,点击这里申请一个,填写信息就成,这里就不再赘述.申请完成之后,使用申请的AppID进 ... 
- iOS App打包上架超详细流程
		https://www.jianshu.com/p/817686897ec1?open_source=weibo_search 
- iOS APP提交上架最新流程(转)
		时隔1年又让我鼓捣iOS,刚接手就是上架,经验值为0的我,虽然内心是拒绝的,但还是要接受这项任务滴!也就是在被拒后重新审核,再改在提交...这样 反复的过程中也对上架流程熟悉了好多,写篇帖子送给同为菜 ... 
- iOS APP提交上架最新流程
		时隔1年又让我鼓捣iOS,刚接手就是上架,经验值为0的我,虽然内心是拒绝的,但还是要接受这项任务滴!也就是在被拒后重新审核,再改在提交...这样反复的过程中也对上架流程熟悉了好多,写篇帖子 ... 
- iOS APP提交上架流程
		转载自CocoaChina,链接地址:http://www.cocoachina.com/bbs/read.php?tid=330302 后面问题我也遇到了,参考该文章解决的 转自http://blo ... 
- iOS开发基础:最新的APP打包上架流程
		之前有人留言让我更新部分文章,下面就为大家分享一下iOS的APP打包上架流程: 上传至apple developer 1.1 上传准备工作 更新上架和发布上架不同,在原始版本首次上架的时候就将描述文件 ... 
- 勾勾街——一个专注于免越狱免签名的苹果ios APP打包生成的网站
		自涛舅舅研发的“苹果ios APP自助生成系统”上线以来,每天都有大量的用户注册和生成免越狱app,为什么? 因为我们有明显的技术优势,APP不需要上架appstore, 生成APP又不需要企业签名证 ... 
- hbuilder IOS APP 打包与发布2
		在上一篇的<hbuilder IOS APP 打包与发布>中,请求 的 是APP ids . ios开发证书 .和开发配置文件 , 这一篇中就不写发布证书和配置文件的请求,因为流程 ... 
- iOS App Store上架新APP与更新APP版本
		iOS App Store上架新APP与更新APP版本 http://www.jianshu.com/p/9e8d1edca148 
随机推荐
- ASP.NET  MVC  介绍
			ASP.NET分为WebForm(数据访问层 界面层 业务逻辑层)和MVC MVC : Model(模型)是应用程序中用于处理应用程序数据逻辑的部分. 通常模型对象负责在数据库中存取数据. View( ... 
- jsp  js action之间的传值
			1.struts2 action如何向JSP的JS函数传值 action中定义变量public class TestAction extends ActionSupport implements Se ... 
- 笔记007:对象——RegExp正则表达式对象
			1.RegExp 一个用于匹配的模式文本 用0个或多个修饰符描述的匹配模式细节 RegExp对象的创建形式 用内建构造器创建 var re = new RegExp("j.*t&quo ... 
- <?xml version="1.0" encoding="UTF-8"?>  的作用?
			version="1.0" 声明用的xml版本是1.0 encoding="UTF-8" 声明用xml传输数据的时候的字符编码,假如文档里面有中文,编码方式不是 ... 
- selenium--环境搭建步骤
			1.安装Python 2.安装setuptools 3.安装pip(Python3.X自带pip) 4.安装selenium(步骤在另一个博客中已提及) 
- Python——函数的命名关键字参数
			命名关键字参数 对于关键字参数,函数的调用者可以传入任意不受限制的关键字参数.至于到底传入了哪些,就需要在函数内部通过kw检查. 仍以person()函数为例,我们希望检查是否有city和job参数: ... 
- 网络TCp数据的传输设计(黏包处理)
			//1.该片为引用别人的文章:http://www.cnblogs.com/alon/archive/2009/04/16/1437599.html 解决TCP网络传输"粘包"问题 ... 
- 【循序渐进MVC】第一回——一物多用Project.json依赖关系之dependencies节点
			Project.json统一了ASP.NET vNext之前版本的packages.config.NuGet 配置(nuspec)以及项目文件(csprojs):并集成在Project.json中. ... 
- ROS 新手教程 命令汇总
			## 工作环境搭建 查看环境变量的配置: wangsan@wangsan-Y50:~$ export | grep ROS declare -x ROSLISP_PACKAGE_DIRECTORIES ... 
- JS-数组冒泡排序
			数组冒泡就是每次从数组里取出两个数,然后比较大小,然后在排序. 正序排列 var arr = [8,2,5,12,14,19,1,6]; for(var i = 0;i < arr.l ... 
