基本知识

首先要了解一下Xcode打包签名机制中 Certificates & Identificates &Provisioning Profiles 三者之间的关系:

Certificates:

是证书的意思,是我们开发者账号的认证,也是当前开发者账号是否可用的唯一标示。(是对电脑开发资格的认证,也是对开发者账号的认证,通常用于认证开发者能够在某一台电脑上进行编程),每个开发者账号有两套开发者证书可以选择:

  Developer Certification(开发证书)   安装在电脑上提供权限:开发人员通过设备进行 真机调试 。可以生成副本供多台电脑安装,也就是导出证书秘钥(.p12文件)

Distribution Certification(发布证书)   安装在电脑上提供发布iOS程序的权限:开发人员可以制做测试版和发布版的程序。然后打包上传到iTunesConnect进行发布操作。不可生成副本,仅有配置该证书的电脑才可使用;(副本制做介绍在下面Keychain开发秘钥中介绍)如果app想加入推送功能,就申请对应的带推送的证书:

Identificates:

是身份标示的意思,就是我们的AppID ,如果是在创建发布证书的时候,我们的AppID 要求是唯一的,如果是创建测试证书的时候,我们的APPID可以使用通配符。

Provisioning Profiles:

是描述性文件的意思,是对证书和项目标示的描述文件。

什么是通配符:

通配符就是在上传程序的时候要使用到的一个唯一标示软件ID的一串字符串后面的*号部分,当然在显式的AppID 中不存在通配符,仅仅在通配符AppID中出现。

下面是对公钥、私钥、数字证书的作用理解:

公钥是用来加密签章用的,私钥是用来验证签章解密用的,数字证书使用来提供一对加密与解密的通道或者中介。

使用数字证书的签名机制可以确保该信息是由签名者自己签名发送的,不能否认该事实,信息在发送的过程中不能被任何人修改,因为通过数字证书加密过程是不可逆转的。

Devices 用于创建测试设备,一个99美元允许创建100个设备

证书制作流程

下面是证书的制作流程:

第一步:申请本地证书

在钥匙串中生成密钥文件CSR文件(在钥匙串中操作这一步),并将CSR文件下载保存到本地。

如果申请的本地证书要保存在磁盘上的话,邮箱可以随便写。

将证书保存在桌面上。

打开开发者中心,在如下图处点击:“证书、ID、描述性文件” 的图标。

证书分为开发者证书,测试证书两种。要申请证书,都要从右边的  “+”  号处添加。如果要申请开发证书就选择 Development,如果要申请发布证书,就选择 Production,步骤都是选择“+”号后添加证书:

点击了 “+”  之后可以看到的是:

如果是选择开发证书选择第一个 红框。

如果是选择发布证书选择第二个 红框。

下面假设选择了发布证书:

这里我们点击 “continue”

然后会出现下面的页面:

然后选择 “Choose file ” 上传我们从钥匙串中创建的本地证书:

上传之后,点击 “ Generate”  就可以生成证书了。

下面我们就可以下载我们创建好的证书了。

我们可以在证书下载完成之后,删除原来的从钥匙串中生成的证书了。然后返回到证书界面,就可以看到我们申请的证书了。

一般申请一个 发布证书(IOS Distribution),一个开发证书(IOS Development)就够用了。

找到下载的文件,双击它,添加到钥匙串里就好了。在这一步里,如果钥匙串拒绝添加,直接将其拖进钥匙串就行:

这样证书就申请完毕了,有了证书后,接下来可以申请各种各样的描述文件供开发使

项目打包

待续

项目上传 AppStore

待续

iOS项目上线的流程的更多相关文章

  1. java项目上线的流程(将web项目部署到公网)

    本博文来源于网络,原文的地址在本篇博文最下方. 如何将java web项目上线/部署到公网 关于如何将Java Web上线,部署到公网,让全世界的人都可以访问的问题.小编将作出系列化,完整的流程介绍. ...

  2. iOS 项目上线流程

    一.证书的导出      1.1 前期工作        首先你需要有一个苹果的开发者帐号,一个Mac系统.        如果没有帐号可以在打开http://developer.apple.com/ ...

  3. App上线基本流程

    还可参考的:http://www.cocoachina.com/bbs/read.php?tid=330302 iOS项目上传前期准备材料: 1.已有开发者账号 2.已有发布证书 3.一张1024*1 ...

  4. iOS学习——iOS项目Project 和 Targets配置详解

    最近开始学习完整iOS项目的开发流程和思路,在实际的项目开发过程中,我们通常需要对项目代码和资料进行版本控制和管理,一般比较常用的SVN或者Github进行代码版本控制和项目管理.我们iOS项目的开发 ...

  5. iOS 开发之版本上线更新流程

    iOS 开发之版本上线更新流程   把自己app上线的流程记录下来,希望能够让自己加深印象,也能帮助到一些人便是极好的! 证书和描述文件的配置就不写了,直接配置工程吧. 大致把我自己上线的流程写一下: ...

  6. iOS项目的目录结构和开发流程

    转自无网不剩的博客 网上相关的资源不多,开源的且质量还不错的iOS项目也是少之又少,最近正好跟同事合作了一个iOS项目,来说说自己的一些想法.   目录结构 AppDelegate Models Ma ...

  7. (转)iOS项目的目录结构和开发流程

    网上相关的资源不多,开源的且质量还不错的iOS项目也是少之又少,最近正好跟同事合作了一个iOS项目,来说说自己的一些想法. 目录结构 AppDelegate Models Macro General ...

  8. IOS项目目录结构和开发流程

    网上相关的资源不多,开源的且质量还不错的iOS项目也是少之又少,最近正好跟同事合作了一个iOS项目,来说说自己的一些想法.   目录结构 AppDelegate Models Macro Genera ...

  9. 自学linux——16.LAMP项目上线流程

    LAMP项目上线流程 一.编译安装与卸载Nginx(web服务器软件,类似于Apache) 1.安装nginx ①    下载nginx 网页下载https://nginx.org/en/downlo ...

随机推荐

  1. ListView 自己定义BaseAdapter实现单选打勾(无漏洞)

    (假设须要完整demo,请评论留下邮箱) (眼下源代码已经不发送.假设须要源代码,加qq316701116.不喜勿扰) 近期由于一个项目的原因须要自己定义一个BaseAdapter实现ListVIew ...

  2. 串匹配算法讲解 -----BF、KMP算法

      参考文章: http://www.matrix67.com/blog/archives/115     KMP算法详解 http://blog.csdn.net/yaochunnian/artic ...

  3. iOS 摇一摇的实现

    - (void)viewDidLoad { [super viewDidLoad]; [[UIApplication sharedApplication] setApplicationSupports ...

  4. 监控系统-nagios

    Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设备,打印机等.在系统或服务状态异常发出邮件或短信报警第一 ...

  5. 何时使用Entity或DTO

    关注公众号: 锅外的大佬 每日推送国外优秀的技术翻译文章,励志帮助国内的开发者更好地成长! JPA和Hibernate允许你在JPQL和Criteria查询中使用DTO和Entity作为映射.当我在我 ...

  6. 移动端,多屏幕尺寸高清屏retina屏适配的解决方案

    移动端高清.多屏适配方案 背景 开发移动端H5页面 面对不同分辨率的手机 面对不同屏幕尺寸的手机 视觉稿 在前端开发之前,视觉MM会给我们一个psd文件,称之为视觉稿. 对于移动端开发而言,为了做到页 ...

  7. transient、volatile关键字

    transient是在对象序列化的时候,不参与序列化的字段. 如LinkedList实现了Serializable,其中有变量transient int size = 0; 在Serializable ...

  8. 28个jQuery性能优化的建议

    我一直在寻找有关jQuery性能优化方面的小窍门,能让我那臃肿的动态网页应用变得轻便些.找了很多文章后,我决定将最好最常用的一些优化性能的建议列出来.我也做了一个jQuery性能优化的简明样式表,你可 ...

  9. tornado安全应用之cookie

    目前大多数服务器判断用户是否登录一般通过session机制,Tornado 通过 set_secure_cookie 和 get_secure_cookie 方法直接支持了这种功能.原理类似于sess ...

  10. 6 Maven聚合与集成

    Maven的聚合特性能够把项目的各个模块聚合在一起构件,而Maven的继承特性能够帮助抽取各个模块相同的依赖和插件等配置,简化POM的同时,还能促进各个模块配置的一致性.     1.聚合     为 ...