iOS APP提交上架流程

摘要:
以下内容以OSXYosemite系统为例,另外版本差别不是很大。提交上去后就会生成一个cer证书,如图所示,有效期为一年。

转载自CocoaChina,链接地址:http://www.cocoachina.com/bbs/read.php?tid=330302

后面问题我也遇到了,参考该文章解决的转自http://blog.csdn.net/ioshot/article/details/50669791

iOS APP提交上架最新流程

反复提交的过程中对上架流程熟悉了好多,写篇帖子送给同为菜鸟的你,如果里面有很菜的东西,大牛请自动忽略,毕竟这也是还为菜鸟的我的备忘录呢!

首先得描述一下各个证书的定位,作用,这样在制作的时候心中有谱,对整个流程的把握也会准确一些;

1、开发者证书(分为开发和发布两种,类型为ios Development,ios Distribution),这个是最基础的,不论是真机调试,还是上传到appstore都是需要的,是一个基证书,用来证明自己开发者身份的;

2、appID,这是每一个应用的独立标识,在设置项中可以配置该应用的权限,比如是否用到了PassBook,GameCenter,以及更常见的push服务,如果选中了push服务,那么就可以创建生成下面第3条所提到的推送证书,所以,在所有和推送相关的配置中,首先要做的就是先开通支持推送服务的appID;

3、推送证书(分为开发和发布两种,类型分别为APNs Development ios,APNs Distribution ios),该证书在appID配置中创建生成,和开发者证书一样,安装到开发电脑上;

4、Provisioning Profiles,这个东西是很有苹果特色的一个东西,我一般称之为PP文件,该文件将appID,开发者证书,硬件Device绑定到一块儿,在开发者中心配置好后可以添加到Xcode上,也可以直接在Xcode上连接开发者中心生成,真机调试时需要在PP文件中添加真机的udid;是真机调试和必架必备之珍品;

平常我们的制作流程一般都是按以上序列进行,先利用开发者帐号登陆开发者中心,创建开发者证书,appID,在appID中开通推送服务,在开通推送服务的选项下面创建推送证书(服务器端的推送证书见下文),之后在PP文件中绑定所有的证书id,添加调试真机等;

一、证书的导出

1.1 前期工作

首先你需要有一个苹果的开发者帐号,一个Mac系统。

如果没有帐号可以在打开http://developer.apple.com/申请加入苹果的开发者计划。怎么申请网上有详细的介绍,因为我没有实际申请过,所以在此不多做介绍。

如果你已经有了一个IDP,打开https://developer.apple.com/并登录到苹果MemberCenter,登录以后可以看到下面这个界面,列出了你开发需要的一些工具,支持,itunes app管理等内容。见下:

iOS APP提交上架流程第1张
选择Certificates, Identifiers & Profiles(左边第二项),申请证书、App ID、设备等配置都在此处。见下:
iOS APP提交上架流程第2张

以上是对应开发的不同版本对应的不同的配置,我上架的是手机版,所以就选择了iOS Apps 中的Certificates

1.2 申请App Id

iOS APP提交上架流程第3张

选择App IDs ——>点击+创建一个新的App ID

iOS APP提交上架流程第4张

其中有两项需要你自己填:

第一个Name,用来描述你的AppId,这个随便填,没有什么限制,最好是项目名称,这样方便自己辨识(不允许中文哦);

第二项Bundle ID (App ID Suffix),这是你appid的后缀,这个需要仔细。因为这个内容和你的程序直接相关,后面很多地方要用到,最好是com.yourcompany.yourappname的格式,我用的是项目中的Bundle ID(反正这样是最保险的)

iOS APP提交上架流程第5张

第三项App Services,默认会选择2项,不能修改,只需要选择上自己需要的服务即可,不知道在哪里看到说是必须要选上推送,否则后面就没有办法修改了,但是我自己测试的是可以修改的。如果不放心的同学可以选择上哦!

然后点击Continue确认没有错的话直接点击Submit后点击Done即完成App Id的创建

1.3 创建证书

1.3.1、先创建一个证书请求文件

这儿需要一个Mac系统。以下内容以OS X Yosemite系统为例,另外版本差别不是很大。

首先打开应用程序-实用工具-钥匙串访问(KEY CHAIN),在证书助理中,选择"从证书颁发机构求证书",如下图:

iOS APP提交上架流程第6张

在下图所示的界面,你的电子邮件地址:填你申请idp的电子邮件地址,常用名称,默认就好,CA空,选择存贮到磁盘,点击"继续":

iOS APP提交上架流程第7张

选择保存的位置,比如选择桌面。下一步点击完成,你就可以看到你的桌面多了一个CertificateSigningRequest.certSigningRequest的证书请求文件。注:CSR文件尽量每个证书都制作一次,将常用名称区分开来,因为该常用名称是证书中的密钥的名字。

1.3.2 制作Provisioning Profile证书文件

1.3.2.1 开发者证书的制作:登陆到开发者中心,找到证书配置的版块,选择

,点击右上角的加号:

iOS APP提交上架流程第8张

发布证书和开发者证书需要操作两次,分别创建,开发者证书用于真机调试,发布证书用于提交到AppStore。

iOS APP提交上架流程第9张

然后下一步,会提示创建CSR文件,也就是证书签名请求文件。

iOS APP提交上架流程第10张

直接选择我们上一步保存在桌面的CertificateSigningRequest.certSigningRequest的证书请求文件即可。

提交上去后就会生成一个cer证书,如图所示,有效期为一年。

iOS APP提交上架流程第11张

点击DownLoad,双击安装。(如果安装不上,可以直接将证书文件拖拽到钥匙串访问的列表中)

需要注意的是,虽然在左边栏证书栏中也可以直接创建推送证书,但是还是建议在appID中,勾选了push服务后在此处创建,这样会避免因为忘了开通push服务而导致推送不可用的情况发生;iOS APP提交上架流程第12张

1.3.2.2 Provisioning Profile证书制作:到这一步证书还没凑全,想提交AppStore还需要PP证书。


点击Provisioning Profiles,然后点击右上角的加号。

iOS APP提交上架流程第13张

该流程也需要进行两次,分别创建开发用的PP证书和发布的PP证书。Ad Hoc格式一般用于企业帐号,此处我们忽略;

iOS APP提交上架流程第14张

下一步的选择项里会自动检测匹配你的AppID,另外下拉项中还可以选择wildCard格式。

注意:wildCard格式的证书没有推送,PassCard等服务的应用,慎重选择。 继续,这里有一个区别,因为PP证书的开发者证书需要真机调试,所以我们需要绑定真机,这里因为之前我添加过一些设备,所以这里就可以直接全选添加,如果没有的话,需要将真机的udid复制出来在此添加,在发布PP文件中,是没有这一步的。

iOS APP提交上架流程第15张

之后就是输入一个PP证书的名字了,然后生成,下载保存,双击就添加到Xcode中,这样在真机调试或者发布时,就可以分别有不同的PP证书与其对应。【其实可以不用下载保存,具体原因后面会介绍到】

1.4配置项目环境

1.4.1 Account的配置

Xcode——>Preferences 就会出现Account的配置界面,如图:

iOS APP提交上架流程第16张

点击+可以选择Add Apple ID;点击View Details可以查看该Apple Id下的Certificates和Provisioning Profile证书文件,在这里你可以点击下载。

1.4.2 项目的配置

在项目Targets下的Identity中,Team选择对应的Apple ID 即可

在XCode的项目设置里,Provisioning Profile就可以选择对应的证书。

iOS APP提交上架流程第17张


前期的准备工作就算完成了。


二、 ipa打包

2.1 Archive在线打包

在真机状态下选择Product——>Archive(如果不是真机状态下,Archive会是灰色不可用的),成功会弹出如下图:

iOS APP提交上架流程第18张

网上说先点击Validate进行验证,虽说验证的过程有点小慢,但是为了审核顺利点,还是验证下为好(有次validate一直不成功,直接导出ipa的安装包也没错误,因为不上传到市场,所以暂时没有遇到问题。这算是应付公差,不建议使用哦)。

验证成功后点击Export导出ipa的包用与上传即可。


三、ipa提交App Store

3.1在itunes中创建程序

登录开发者中心,选择Itunes Connect,进入后选择“我的App”如下图:


iOS APP提交上架流程第19张

点击左上角的+选择“新建App”,根据自己的app然后填写相应的信息即可,因为项目较多,就不一一讲解了,但是其中的注意事项会写到:

iOS APP提交上架流程第20张

1、选择语言的时候,简体中文是Simplified Chinese,不要再找Chinese了,找不到的(我就是iOS APP提交上架流程第21张

2、套装ID与SKU主要是app的唯一标识吧,我是用的项目中Bundle Identifier的内容,即com.company.projectname

iOS APP提交上架流程第22张(App信息以及价格与定价根据app不同自己填写就可以了)

3.上传App Icon的时候,注意那个问号哦,需要上传1024*1024的,而且不能有圆角效果哦!


4.这里需要不同屏幕的截图,可以直接用模拟机运行后截图。待模拟器运行开始的时候,按住cmd+S, 模拟器的屏幕截图就直接保存在桌面上了。

5.上传的时候会提示“无法载入文件”的问题。原因是:截图保存的文件名有中文,修改下截图名称即可!


6.屏幕尺寸大家都可以查到,为了自己方便,简单备注下:

4.7英寸 ——>iphone6 5.5英寸——>iphone 6 plus 4英寸 ——>iphone5S 3.5英寸 ——> iphone 4S

iOS APP提交上架流程第23张

7、ipa包的上传:我使用的是Applicaton Loader


iOS APP提交上架流程第24张

点击选取,选择导出的ipa的文件,然后选择对应的信息,成功之后,30分钟~1小时差不多久可以在“构建版本”首次的话会直接提交app,如果有多个版本的话,需要在这里选择对应需要审核的版本即可

8、iOS APP提交上架流程第25张不要忘记填写测试账号,否则会被拒的,而且一定要跟服务器同事说好,不要删除测试账号,否则同样被拒(我就遇到了iOS APP提交上架流程第26张) 9、联系*****中需要加中国的区号+86后面是具体的联系*****,如:+86 15167896568

10、还有个IDFA的广告得到选择,看着提示如果出现偏差感觉都要搞砸的样子,所以找到网上一个选择,应该不会出错

iOS APP提交上架流程第27张


大功告成了,希望可以帮到别人,也希望自己不要忘记iOS APP提交上架流程第28张

--------------------------------------------------------------分割线---------------------------------------------------------

最后说一下我遇到的小问题:

打包上传AppStore,结果Xcode报以下错误:
Missing iOS Distribution signing identity for XXXXXX

iOS APP提交上架流程第29张

查看证书后发现,Develop证书和Distribution证书都提示“此证书的签发者无效”。
iOS APP提交上架流程第30张

什么是AppleWWDRCA证书?

搜索资料发现,原因是AppleWWDRCA (Apple Worldwide Developer Relations Certification Authority) 证书过期了。
AppleWWDRCA证书实际上就是对iOS证书(即Develop证书和Distribution证书)的授权认证,其公钥用于解密认证证书的可靠性。
iOS以及Mac OS X系统(在安装Xcode时)将自动安装AppleWWDRCA.cer(Apple Worldwide Developer Relations Certification Authority)这个中间证书(Intermediate Certificates)。

问题解决

需要更新AppleWWDRCA证书。
1.https://developer.apple.com/certificationauthority/AppleWWDRCA.cer下载最新AppleWWDRCA证书,双击安装。
2.打开钥匙串,选择登录,然后选择下面的证书。
3.选择桌面左上角的显示→显示已过期的证书。
4.这时候你会发现一个过期的“WWDR Certificate”(Apple Worldwide Developer Relations Certification Authority),删除它。
特别注意:有的在系统那一栏也有这个过期的“WWDR Certificate”,也一并删除它,没有就不作处理。
5.再回头点击Develop证书和Distribution证书,不出意外他们都变成“此证书有效”了。

免责声明:文章转载自《iOS APP提交上架流程》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Python中读取到16进制数如何转成有符号数值解决Openwrt版本内核不兼容下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Magento入门开发教程

Modules->模块 Controller->控制器 Model->模型 Magento是这个星球上最强大的购物车网店平台。当然,你应该已经对此毫无疑问了。不过,你可能还不知道,Magento同样是一个面向对象的PHP框架。你可以配合Magento购物车程序强大的功能,开发动态WEB应用程序。 这是Magento中文开发手册的开篇,我们...

vue 服务端渲染 vs 预渲染(1)

服务端渲染: 1、将完整的html输出到客户端 2、要使用通用代码 优点 :  1、首次渲染快(无需等所有的js都完成下载)   2、利于seo 缺点:  1、更多的服务器负载 2、开发受限 3、需要处于node.js/php server 运行环境 预渲染:  1、使用少数营销页的seo   2、生成对特定路由静态的html文件 优点:   1、预渲染更...

关于springMVC

一 mvc设计模式 MVC 全名是 Model View Controller,是 模型(model)-视图(view)-控制器(controller) 的缩写, 是⼀种⽤于设计创建 Web 应⽤程序表现层的模式。 MVC 中每个部分各司其职:Model(模型):模型包含业务模型和数据模型,数据模型⽤于封装数据,业务模型⽤于处理业务。View(视图): 通...

mac下app store 无法完成您的购物操作

最近在mac下使用app store 的时候出现提示:“我们无法完成您的购物操作 网络连接已中断”。但是我的网络是好的,图片如下: 网上找了各种解决办法,比如将DNS改成 114.114.114.114 但是还是无法解决。 最终修改网络代理设置修复好了。具体步骤如下: 1、打开系统偏好设置 - 网络 - 高级 - 代理 2、去掉 Web代理(HTTP)前...

适配iOS11

总结在iOS11系统中出现的适配问题: 启动app发现上下有空隙,不能完全贴合屏幕----- 解决方案:添加一张尺寸为1125x2436的启动图。 隐藏导航栏的界面,会出现无法贴合屏幕顶部(一般来说,是view中有Scrollview)----- 解决方案 注意contentInsetAdjustmentBehavior的属性的设置需要在创建了这个Sc...

docker进阶之路-基础篇 | 二:portainer安装与基本使用

转载请注明作者及出处: 作者:银河架构师 原文链接:https://www.cnblogs.com/luas/p/12061755.html ​简介 Portainer 是轻量级,跨平台,开源的管理Docker的UI。Portainer提供了Docker的详细概述,并允许通过基于Web的简单仪表板管理容器、镜像、网络和卷,且支持GNU / Linux,...