iOS 项目上线流程
一、证书的导出
1.1 前期工作
首先你需要有一个苹果的开发者帐号,一个Mac系统。
如果没有帐号可以在打开http://developer.apple.com/申请加入苹果的开发者计划。怎么申请网上有详细的介绍,所以在此不多做介绍。
如果你已经有了一个IDP,打开https://developer.apple.com/并登录到苹果MemberCenter,登录以后可以看到下面这个界面,列出了你开发需
要的一些工具,支持,itunes app管理等内容。见下:

选择Certificates, Identifiers & Profiles(左边第二项),申请证书、App ID、设备等配置都在此处。见下:

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

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


1.3.1、先创建一个证书请求文件
这儿需要一个Mac系统。以下内容以OS X Yosemite系统为例,另外版本差别不是很大。
首先打开应用程序-实用工具-钥匙串访问(KEY CHAIN),在证书助理中,选择"从证书颁发机构求证书",如下图:

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

选择保存的位置,比如选择桌面。下一步点击完成,你就可以看到你的桌面多了一个CertificateSigningRequest.certSigningRequest的证书请求文件。注:CSR文件尽量每个证书都制作一次,将常用名称区分开来,因为该常用名称是证书中的密钥的名字。
1.3.2 制作Provisioning Profile证书文件
1.3.2.1 开发者证书的制作:登陆到开发者中心,找到证书配置的版块,选择
,点击右上角的加号:
发布证书和开发者证书需要操作两次,分别创建,开发者证书用于真机调试,发布证书用于提交到AppStore。

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

直接选择我们上一步保存在桌面的CertificateSigningRequest.certSigningRequest的证书请求文件即可。
提交上去后就会生成一个cer证书,如图所示,有效期为一年。

点击DownLoad,双击安装。(如果安装不上,可以直接将证书文件拖拽到钥匙串访问的列表中)
1.3.2.2 Provisioning Profile证书制作:到这一步证书还没凑全,想提交AppStore还需要PP证书。
点击Provisioning Profiles,然后点击右上角的加号。

该流程也需要进行两次,分别创建开发用的PP证书和发布的PP证书。

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

之后就是输入一个PP证书的名字了,然后生成,下载保存,双击就添加到Xcode中,这样在真机调试或者发布时,就可以分别有不同的PP证书与其对应。【其实可以不用下载保存,具体原因后面会介绍到】
1.4 配置项目环境
1.4.1 Account的配置
Xcode——>Preferences 就会出现Account的配置界面,如图:

点击+可以选择Add Apple ID;点击View Details可以查看该Apple Id下的Certificates和Provisioning Profile证书文件,在这里你可以点击下载。
1.4.2 项目的配置
在项目Targets下的Identity中,Team选择对应的Apple ID 即可
在XCode的项目设置里,Provisioning Profile就可以选择对应的证书。

前期的准备工作就算完成了。
二、 ipa打包
2.1 Archive在线打包
在真机状态下选择Product——>Archive(如果不是真机状态下,Archive会是灰色不可用的),成功会弹出如下图:

网上说先点击Validate进行验证,虽说验证的过程有点小慢,但是为了审核顺利点,还是验证下为好(有次validate一直不成功,直接导出ipa的安装包也没错误,因为不上传到市场,所以暂时没有遇到问题。这算是应付公差,不建议使用哦)。
验证成功后点击Export导出ipa的包用与上传即可。
三、ipa提交App Store
3.1 在itunes中创建程序
登录开发者中心,选择Itunes Connect,进入后选择“我的App”如下图:

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

1、选择语言的时候,简体中文是Simplified Chinese,不要再找Chinese了,找不到的(我就是
)
2、套装ID与SKU主要是app的唯一标识吧,我是用的项目中Bundle Identifier的内容,即com.company.projectname
(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

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

点击选取,选择导出的ipa的文件,然后选择对应的信息,成功之后,30分钟~1小时差不多久可以在“构建版本”首次的话会直接提交app,如果有多个版本的话,需要在这里选择对应需要审核的版本即可
8、
不要忘记填写测试账号,否则会被拒的,而且一定要跟服务器同事说好,不要删除测试账号,否则同样被拒(我就遇到了
) 9、联系电话中需要加中国的区号+86后面是具体的联系电话,如:+86 15167896568
10、还有个IDFA的广告得到选择,看着提示如果出现偏差感觉都要搞砸的样子,所以找到网上一个选择,应该不会出错

iOS 项目上线流程的更多相关文章
- 自学linux——16.LAMP项目上线流程
LAMP项目上线流程 一.编译安装与卸载Nginx(web服务器软件,类似于Apache) 1.安装nginx ① 下载nginx 网页下载https://nginx.org/en/downlo ...
- 重学 Java 设计模式:实战责任链模式「模拟618电商大促期间,项目上线流程多级负责人审批场景」
作者:小傅哥 博客:https://bugstack.cn - 原创系列专题文章 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 场地和场景的重要性 射击
- iOS项目上线的流程
基本知识 首先要了解一下Xcode打包签名机制中 Certificates & Identificates &Provisioning Profiles 三者之间的关系: Certif ...
- iOS APP上线流程
前言:作为一名IOS开发者,把开发出来的App上传到App Store是必须的.下面就来详细介绍下具体流程. 1.打开苹果开发者中心:https://developer.apple.com 打开后点击 ...
- Linux 项目上线流程
命令行样式修改 1 打开配置文件vim /etc/bashrc2 添加配置信息PS1="\[\e[37;40m\][\[\e[32;1m\]\u\[\e[37;40m\]@\h \[\e[3 ...
- iOS最新上线流程+续费 2015-7-20更新
一.程序上线前准备 确认图标是否⻬全,应⽤的icon图标 在以前图⽚片直接命名 为icon就可以了,在xcode5以后,苹果加 ⼊入了images.xcasset这个⽂文件夹,所有的 图标全都在这⾥里 ...
- lamp项目上线流程简述 (ubuntu16.04 )
1 新建一个sudo用户,而不是直接用root操作 ① 新建用户可参考 https://www.cnblogs.com/bushuwei/p/10880182.html ② 赋予sudo权限: ...
- iOS项目的目录结构和开发流程
转自无网不剩的博客 网上相关的资源不多,开源的且质量还不错的iOS项目也是少之又少,最近正好跟同事合作了一个iOS项目,来说说自己的一些想法. 目录结构 AppDelegate Models Ma ...
- (转)iOS项目的目录结构和开发流程
网上相关的资源不多,开源的且质量还不错的iOS项目也是少之又少,最近正好跟同事合作了一个iOS项目,来说说自己的一些想法. 目录结构 AppDelegate Models Macro General ...
随机推荐
- oracle数据库兼容mysql的差异写法
1.sysdate改为sysdate(),或者now(); 2.nvl(expr1,expr2) 改为IFNULL(expr1,expr2) nvl2(expr1,expr2,expr3)改为 IF( ...
- hibernate中SQLQuery的addEntity()方法
如果使用原生sql语句进行query查询时,hibernate是不会自动把结果包装成实体的.所以要手动调用addEntity(Class class)等一系列方法. 如session.createSQ ...
- angular Jsonp的坑
angular 为了解决跨域问题 一些第三方接口会提供jsonp来调用,需要使用callback=JSON_CALLBACK来处理 这个时候问题来了,有些借口是不支持callback里面带有点语法的, ...
- 消除SDK更新时的“https://dl-ssl.google.com refused”异常--(转)
SDK更新时的“https://dl-ssl.google.com refused”错误 Download interrupted: hostname in certificate didn't ma ...
- CodeForces 158C - Cd and pwd commands(模拟)
这个题我们又把题意理解错了,队友翻译了以后给我解释,我问这个直接一个单词开头的是要找到这个文件夹吗,他说是,然后我就呵呵了..奔着树形结构去和字符串维护就去了...做了好久都没模拟出来,感觉做出来的人 ...
- EL探索
- C#设置word段落首行缩进为0
PublicVar.m_WordApp.Selection.ParagraphFormat.CharacterUnitFirstLineIndent = ; PublicVar.m_WordApp.S ...
- CSS——京东首页实战总结
第一天成果 1.浮动的盒子不要给宽,内容撑起盒子的宽 在前端设计中,一般不给浮动的盒子设置宽,让其用内容撑起一个高度. 2.小三角的表示 ◇用一个盒子(盒子宽为字的宽,高度为字高度的一半)去截取这个菱 ...
- The 2014 ACM-ICPC Asia Mudanjiang Regional
继续复盘之前的Regional......出题者说这一套题太简单,对当时没有AK很不满......真是醉了,弱校没法活了 [A]签到题 [B]树结构,树的中心 [C]-_-/// [D]概率DP [E ...
- Selinux是什么?
在新的基于RHEL一般都自带了selinux,多数情况下我们把selinux禁用了,事实上既然RHEL要集成它,必然有他的优点和长处,我们通过下文来了解selinux,也许你会喜欢用上它. 英文原文来 ...