前言的前言 :

有几种关系需要搞清楚的.由我自己经历的坑和看着网上大多数资料来说,比较混乱.现在整理一下

正如前面的文章所言.一套由零 - 申请证书 - AppIDs - Provisioning Profiles - 打包 - 上传 - 审核 等

这里在总结一下 :

所谓证书(Certificates) :  用我自己的理解就是, 你需要申请一把钥匙, 去开启某些服务 .
按着这种理解,你就会明白, 你首先要知道怎样的服务,需要怎样的钥匙.下面分几种情况
1 , 在苹果Xcode7发布(大概是15年中吧)之前,真机调试时需要证书识别的, 也就是Developer Center 里面的Devices(设备),关于Xcode7之前真机调试需要申请证书的,这里就不阐述了

其实真机调试还是需要申请证书的, 只是真个流程, apple 帮我们简化了, 只要输入开发者账号, (我没试过没输入)就可以了. 请你记住这里就已经产生了一种证书(钥匙) -> 叫做真机调试证书

2 . 开发过程的尾声,一般需要打包ipa让测试人员作整体测试,这个时候需要作打包操作, 那么这也是一种服务(锁),有服务就需要对应证书(钥匙),这种钥匙一般分为两种开发证书,开发和产品证书.从名字你也了解了
如图 :

3 . 苹果还提供了一种推送服务, 没错,是服务(锁) , 那么这里就需要 一个证书了(钥匙) ,而这种证书和上面一样,
分成两种类型  (测试证书)开发推送证书 , (正式环境)产品推送证书 
这里有种要求, 就是这种推送证书还需要提供给服务器那边作为(Jave的话需要.p12) (PHP的话需要gem)

具体流程 : 申请推送证书 -> 将推送证书(.cer)文件打包成.p12或者gem文件 -> App注册推送服务(注册成功就能获取DeviceToken) -> 设备可将DeviceToken发送给自己的服务器 -> 服务器通过合格的证书,正确的DeviceToken发送给苹果推送服务器 -> 苹果就会将推送信息发送给对应的手机

前言 , 很多时候 , 因为公司人员的交替轮换 , 一个App会经由多手发布与开发.
接手的人员一般用以前创建下来的账号证书作为该App的证书文件等.

我们的每一个证书都可以生成一个.p12文件,这个文件是一个加密的文件,只要知道其密码,就可以供给所有的mac设备使用,使设备不需要在苹果开发者网站重新申请开发和发布证书,就能使用。

注意:一般.p12文件是给与别人使用的,简单就是说, 例如A,已经申请证书,并且导入到他的Mac, 那么他就可以用这张证书,制作成.P12文件,然后将该.p12文件发布到项目组下,其他人所用.

问 : 为什么有些证书没有专用密钥?

没有专用密钥的证书, 其实就是没有私钥,该种证书是没法生成.p12文件的.
在Developer Center 下载的证书都是公钥.

问 : .p12的用途?

证书(钥匙),也就私钥才有意义,但是因为设备,账号等等的限制, 复制私钥就显得很重要了,而复制私钥的产品就是.p12

如果你钥匙的概念形成了, 那么你说,复制一把钥匙(.p12文件)给你,你能干嘛?

【上传AppStore】iOS项目上传到AppStore步骤流程(第二章) - 利用P12文件生成证书.多人开发必备 & 前言扫盲的更多相关文章

  1. iOS项目上传到AppStore步骤流程

    1.登录developer.apple.com 2.点击member center后 进下图 3.点击certificates Identifiers进下图 4.点击Certificates进下图,首 ...

  2. 【上传AppStore】iOS项目上传到AppStore步骤流程(第一章) - 上传新的app

    1.登录developer.apple.com 2.点击member center后 然后如下图 3.点击certificates Identifiers 进下图 界面基本介绍请看图 : 4. 其次创 ...

  3. 【上传AppStore】iOS项目上传到AppStore步骤流程(第三章) - 基本信息总汇

    一.App ID(bundle identifier) App ID即Product ID,用于标识一个或者一组App. App ID应该和Xcode中的Bundle Identifier是一致(Ex ...

  4. ios项目上传svn丢失*.a文件

    Win TortoiseSVN:鼠标右键-TortoiseSVN-Settings-General-Subversion-Golobal ignore pattern Win Subversion:编 ...

  5. Webstorm上已有的本地项目上传到Github

    1.Webstorm左上角File —— Settings—— Github, Auth Type改成password,在Login和Password中输入自己的github账户和密码,点Test测试 ...

  6. Mac上配置idea的项目上传到GitHub

    1.安装git,Mac默认已经安装了Git,可以通过命令git —version查询一下. 2.创建SSH KEY(如果已经创建过,则不用再次创建.查看~/.ssh/id_rsa.pub是否存在) 生 ...

  7. ionic 项目中添加modal的步骤流程

    1.首先在templates文件夹下面定义一个新页面,xxx.html,template文件夹在空项目里面是没有的,需要手动添加一个,放在WWW文件夹下面. <ion-modal-view> ...

  8. 分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

    分布式版本库--Windows下Git的环境部署以及在GitHub上开源自己的项目 这几天着实忙的焦头烂额,可惜不是搞技术,今天周日,难得闲下来,写篇大家都想学习的Git教程,其实廖雪峰老师的网站已经 ...

  9. iOS项目目录结构

    一. 目前最为流行的目录结构是: <先根据模块后根据功能> 的文件目录结构 优点: 模块分明, 并且开发和维护时方便查阅各个功能 缺点: 可能会出现模块内随意建立文件夹, 导致局部逻辑紊乱 ...

随机推荐

  1. 理解DOM中的事件流

    浏览器发展到第四代时(IE4和Netscape Communicator 4),浏览器团队遇到一个很有意思的问题:页面的哪一部分会拥有特定的事件?想象下在一张纸上有一组同心圆,如果你把手指放在圆心上, ...

  2. 1.5如何学习Linux驱动开发

    1.准备一个自己熟悉的Linux操作系统,用于开发和测试Linux驱动,建议使用Ubuntu Linux 10.04及以上版本: 2.准备一块开发板,建议采用基于ARM11的开发板: 3.学习GUN ...

  3. javaSE第二十一天

    第二十一天    276 1:字符流(掌握)    276 (1)字节流操作中文数据不是特别的方便,所以就出现了转换流.    276 (2)转换流其实是一个字符流    276 1:InputStr ...

  4. 《cocos2d-x游戏开发》—— lua学习总结(一)数组的使用

    在lua中,数组是用table来实现的. 1.数组的定义: self.itemArrays = {}; --作为数组来使用的表itemArrays 2. 数组插入一条数据: local showIte ...

  5. MySQL语法

    sql(structure query language)结构化查询语言ansi iso/iec组织制定ddl(data definition language) 数据定义语言dml(manipula ...

  6. objective-C运算符和表达式

    运算符可以分为以下几种: 算术运算符:+,-,*,/,%,++,—-. 关系运算符:<,>,<=,>=,==,!= 布尔逻辑运算符:!,&&,|| 位运算符:| ...

  7. HTML的结束标签问题

    根据w3c的原则,xml的每个开始标签必须有一个结束标签与之对应,也就是<html>必须要有</html>结束,才是一个完整的元素,除非它是一个自封闭标签,自封闭就是<i ...

  8. 在oracle中通过链接服务器(dblink)访问sql server

    在oracle中通过链接服务器(dblink)访问sql server 2013-10-16 一.   工作环境: <1> Oracle数据库版本:Oracle 11g  运行环境 :IB ...

  9. javascript的变量,传值和传址,参数之间关系

    先把收获晾一下: 1.javascrip变量包含两种类型的值,一种为引用类型的值,一种是基本类型的值.引用类型包括:Array,Object,Function(可以这么理解,非基本类型的都是引用类型) ...

  10. C语言-sizeof()与strlen()的区别【转】

    先看看sizeof() 一.sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++.--等.它并不是函数.sizeof操作符以字节形式给出了其操作数的存储大小.操作数可以是 ...