【上传AppStore】iOS项目上传到AppStore步骤流程(第二章) - 利用P12文件生成证书.多人开发必备 & 前言扫盲
前言的前言 :
有几种关系需要搞清楚的.由我自己经历的坑和看着网上大多数资料来说,比较混乱.现在整理一下
正如前面的文章所言.一套由零 - 申请证书 - 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文件生成证书.多人开发必备 & 前言扫盲的更多相关文章
- iOS项目上传到AppStore步骤流程
1.登录developer.apple.com 2.点击member center后 进下图 3.点击certificates Identifiers进下图 4.点击Certificates进下图,首 ...
- 【上传AppStore】iOS项目上传到AppStore步骤流程(第一章) - 上传新的app
1.登录developer.apple.com 2.点击member center后 然后如下图 3.点击certificates Identifiers 进下图 界面基本介绍请看图 : 4. 其次创 ...
- 【上传AppStore】iOS项目上传到AppStore步骤流程(第三章) - 基本信息总汇
一.App ID(bundle identifier) App ID即Product ID,用于标识一个或者一组App. App ID应该和Xcode中的Bundle Identifier是一致(Ex ...
- ios项目上传svn丢失*.a文件
Win TortoiseSVN:鼠标右键-TortoiseSVN-Settings-General-Subversion-Golobal ignore pattern Win Subversion:编 ...
- Webstorm上已有的本地项目上传到Github
1.Webstorm左上角File —— Settings—— Github, Auth Type改成password,在Login和Password中输入自己的github账户和密码,点Test测试 ...
- Mac上配置idea的项目上传到GitHub
1.安装git,Mac默认已经安装了Git,可以通过命令git —version查询一下. 2.创建SSH KEY(如果已经创建过,则不用再次创建.查看~/.ssh/id_rsa.pub是否存在) 生 ...
- ionic 项目中添加modal的步骤流程
1.首先在templates文件夹下面定义一个新页面,xxx.html,template文件夹在空项目里面是没有的,需要手动添加一个,放在WWW文件夹下面. <ion-modal-view> ...
- 分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目
分布式版本库--Windows下Git的环境部署以及在GitHub上开源自己的项目 这几天着实忙的焦头烂额,可惜不是搞技术,今天周日,难得闲下来,写篇大家都想学习的Git教程,其实廖雪峰老师的网站已经 ...
- iOS项目目录结构
一. 目前最为流行的目录结构是: <先根据模块后根据功能> 的文件目录结构 优点: 模块分明, 并且开发和维护时方便查阅各个功能 缺点: 可能会出现模块内随意建立文件夹, 导致局部逻辑紊乱 ...
随机推荐
- JS常用的设计模式(14)—— 备忘录模式
备忘录模式在js中经常用于数据缓存. 比如一个分页控件, 从服务器获得某一页的数据后可以存入缓存.以后再翻回这一页的时候,可以直接使用缓存里的数据而无需再次请求服务器. 实现比较简单,伪代码: var ...
- ln: creating hard link 问题
其实很简单: chattr -R -i xxxxx #xxxxx为你需要修改的文件,这样就可以了... 下面全不是重点,扯淡.... ln: creating hard link ...
- javaSE第五天
第五天 22 1. 方法(掌握) 22 (1)方法:就是完成特定功能的代码块. 22 (2)格式: 22 (3)两个明确: 23 (4)方法调用 23 (5)案例: ...
- 第四章_PHP基本语法(2)
1.常量的声明 在PHP中,定义常量使用define()函数来实现 2.魔术常量 名称 作用 __LINE__ 返回文件中的当前行号 __FILE__ 返回该文件的完整路径和文件名 __DIR__ 返 ...
- 【SMS】移动短信网关返回信息状态代码说明【China Mobile】
1 由SMSC返回的一般结果状态报告 含义 说明 处理建议DELIVRD 消息发送成功 用户成功接收到短信 ??EXPIRED 因为用户长时间关机或者不在服务区等导致的短消息超时没有递交到用户手机上 ...
- 使用css实现全兼容tooltip提示框
在上一篇文章中,使用css实现了一个全兼容的三角形图标,这个三角型图标可以使用于多种场景,比如下拉图标.多级菜单等,这篇文章我们使用这个图标通过纯css来实现一个我们常见的tooltip提示框. 最终 ...
- 学习jQuery在表单信息修改之中的常用方法;
submitHandler: function (form) { var parm = $("#myform").serialize(); var url = $("#m ...
- 【PHP开源产品】Ecshop的商品筛选功能实现分析之一
一.首先,说明一下为什么要对category.php文件进行分析. 原因如下: ①个人对商城类商品筛选功能的实现比较好奇: ②对商城中关于商品的数据表设计比较感兴趣.(该功能涉及到与数据库的交互,而且 ...
- android里面线程睡眠事件使用方法
SystemClock.sleep(时间); 不用Thread.sleep()的原因:要抛异常,占用资源
- 自定义Toast的显示效果
Activity: package com.example.editortoast; import android.app.Activity; import android.os.Bundle; im ...