基本知识

首先要了解一下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. 验证loadrunner对Ajax内容的校验

    前一阵和开发的同事一起測试某个系统的性能.此系统是发送Ajax请求到后台,再调用第三方的某项服务. 第三方服务的性能由不得我们控制.因此开发者做了一下改进.超时则直接返回. 于是在loadrunner ...

  2. gulp(基础篇)

    今天在写项目的时候用到了gulp构建工具,虽然一年前就有用过,但是一直只存在于我的“有道云笔记”里,今天又一次用到,固然是巩固一下,这里来记录一下吧:这里我主要想要记录的就是初学者在第一次使用gulp ...

  3. Laravel建站02--配置Laravel

    Laravel项目的根目录下有.env文件,如果没有可以把.env.example改名为.env 这个文件是配置文件,可以把app_key.数据库.redis缓存等配置信息写在这个文件里. 目前5.4 ...

  4. Struts2实例详解(转载)

    Struts2(上) 一.        经典的MVC模式 二.        Struts1.x对MVC的实现 三.        Struts1.x的主要组件和作用 组件 作用 ActionSer ...

  5. Transforming Auto-encoders

    http://www.cs.toronto.edu/~hinton/absps/transauto6.pdf The artificial neural networks that are used ...

  6. 编译性语言&解释性语言

    计算机是不能理解高级语言.当然也就不能直接执行高级语言了.计算机仅仅能直接理解机器语言,所以不论什么语言,都必须将其翻译成机器语言.不论什么编程语言编写的程序归根究竟都是由底层机器的机器代码(01序列 ...

  7. ABAP 日期栏函数

    在SZC这个中有很多日期函数可以研究借鉴   ABAP - 日期格式转换 现在提供以下一些日期格式转换的函数: Below are several FMs which can be used to c ...

  8. 对于atomic nonatomic assign retain copy strong weak的简单理解

    atomic和nonatomic用来决定编译器生成的getter和setter是否为原子操作 1)atomic 设置成员变量的@property属性时,atomic是默认值,提供多线程安全 在多线程环 ...

  9. 使用bat文件打开和关闭本地exe

    打开: cd 路径start AA.exe 关闭: taskkill /f /im AA.exe

  10. 在react jsx中,为什么使用箭头函数和bind容易出现问题

    在之前的文章中,已经说明如何避免在react jsx中使用箭头函数和bind(https://medium.freecodecamp.o... 但是没有提供一个清晰的demo展示为什么要这样做. 现在 ...