概述:

苹果的证书繁锁复杂,制作管理相当麻烦,今天决定重置一个游戏项目中的所有证书,做了这么多次还是感觉很纠结,索性直接记录下来,日后你我他查阅都方便;

首先得描述一下各个证书的定位,作用,这样在制作的时候心中有谱,对整个流程的把握也会准确一些;

1、开发者证书(分为开发和发布两种,类型为ios Development,ios Distribution),这个是最基础的,不论是真机调试,还是上传到appstore都是需要的,是一个基证书,用来证明自己开发者身份的;

2、appID,这是每一个应用的独立标识,在设置项中可以配置该应用的权限,比如是否用到了PassBook,GameCenter,以及更常见的push服务,如果选中了push服务,那么就可以创建生成下面第3条所提到的推送证书,所以,在所有和推送相关的配置中,首先要做的就是先开通支持推送服务的appID;

3、推送证书(分为开发和发布两种,类型分别为APNs Development ios,APNs Distribution ios),该证书在appID配置中创建生成,和开发者证书一样,安装到开发电脑上;

4、Provisioning Profiles,这个东西是很有苹果特色的一个东西,我一般称之为PP文件,该文件将appID,开发者证书,硬件Device绑定到一块儿,在开发者中心配置好后可以添加到Xcode上,也可以直接在Xcode上连接开发者中心生成,真机调试时需要在PP文件中添加真机的udid;是真机调试和必架必备之珍品;

平常我们的制作流程一般都是按以上序列进行,先利用开发者帐号登陆开发者中心,创建开发者证书,appID,在appID中开通推送服务,在开通推送服务的选项下面创建推送证书(服务器端的推送证书见下文),之后在PP文件中绑定所有的证书id,添加调试真机等;

具体操作流程如下:

1、开发者证书的制作,首先登陆到开发者中心,找到证书配置的版块,猛戳进入,点进证书,会显示如下界面,点击右上角的加号

会出现以下界面,该操作重复两次,分别创建开发测试证书和发布证书,开发测试证书用于真机调试,发布证书用于提交到appStore,我们以开发测试证书为例,选择第一个红框中的内容;
然后下一步,会提示创建CSR文件,也就是证书签名请求文件,会有很详细的操作说明,如果英文不太好,可以参考下图;

之后将该CSR文件保存到一处;

备注:CSR文件尽量每个证书都制作一次,将常用名称区分开来,因为该常用名称是证书中的密钥的名字;

之后在开发者中心将该CSR文件提交;

提交上去后就会生成一个cer证书,如图所示,有效期为一年;

利用同样的方法配置一下Distribution发布证书,下载保存,双击安装;在钥题串登陆证书中可以查看,其中专用密钥的名字即为CSR请求文件中的常用名称;

2、以上开发者证书的配置完成了,下面我们来配置appID和推送证书;在左边栏中选择appID,勾选右边的push可选项,为该appID所对应的应用添加推送功能,下面会看到创建证书的按钮,分别为开发证书和发布证书,下面的流程就和上述1中创建证书一样了,都是先建立证书请求文件,然后提交生成就行了,需要注意的是,虽然在左边栏证书栏中也可以直接创建推送证书,但是还是建议在appID中,勾选了push服务后在此处创建,这样会避免因为忘了开通push服务而导致推送不可用的情况发生;

证书创建完成后,下载保存,双击安装即可;

3、最后我们来进行PP文件的制作

该流程进行两次,分别创建开发测试用PP文件和发布PP文件,前者用于真机测试,后者用于提交发布;Ad Hoc格式一般用于企业帐号,此处我们忽略;

选择后提交

会自动检测匹配appID,另外下拉项中还可以选择wildCard格式,该格式为自动生成,使用*通配符,适用于批量的,没有推送,PassCard等服务的应用;我们选择我们刚刚创建的appID,之后下一步选择证书;

继续,这里有一个区别,因为PP文件的开发测试版需要真机调试,所以我们需要绑定真机,这里因为之前我添加过一些设备,所以这里就可以直接全选添加,如果没有的话,需要将真机的udid复制出来在此添加,在发布PP文件中,是没有这一步的;

之后就是输入一个PP文件的名字了,然后生成,下载保存,双击添加到Xcode库中,这样在真机调试或者发布时,就可以分别有不同的PP文件与其对应;

添加到Xcode中的效果如下:

到目前为止,客户端开发和上架所需要的证书文件配置都已经配齐了,天色已晚,明天再配置服务端所用到的推送证书吧,到时候另起一章,将ios诡异的推送流程也捋一捋,本来想写到一篇里的,没想到整了这么长,下班回家开黑去喽!

 

(转) 苹果所有常用证书,appID,Provisioning Profiles配置说明及制作图文教程(精)的更多相关文章

  1. [转] 苹果所有常用证书,appID,Provisioning Profiles配置说明及制作图文

    转自holydancer的CSDN专栏,原文地址:http://blog.csdn.net/holydancer/article/details/9219333 首先得描述一下各个证书的定位,作用,这 ...

  2. 苹果所有常用证书,appID,Provisioning Profiles配置说明及制作图文教程(精)

    holydancer原创,如需转载,请在显要位置注明: 转自holydancer的CSDN专栏,原文地址:http://blog.csdn.net/holydancer/article/details ...

  3. iOS所有常用证书,appID,Provisioning Profiles配置说明及制作图文教程

    概述: 苹果的证书繁锁复杂,制作管理相当麻烦,今天决定重置一个游戏项目中的所有证书,做了这么多次还是感觉很纠结,索性直接记录下来,日后你我他查阅都方便: 首先得描述一下各个证书的定位,作用,这样在制作 ...

  4. iOS所有常见证书,appID,Provisioning Profiles配置说明及制作图文教程

    转自holydancer的CSDN专栏,原文地址:http://blog.csdn.net/holydancer/article/details/9219333 概述: 苹果的证书繁锁复杂,制作管理相 ...

  5. 苹果所有证书、appID、Provisioning Profiles配置说明及制作教程

    1.开发者证书(分为开发和发布两种,类型为ios Development,ios Distribution): 2.appID,这是每一个应用的独立标识,在设置项中可以配置该应用的权限,比如是否用到了 ...

  6. 证书(Certificate)与描述文件(Provisioning Profiles)

    在使用脚本xcodebuild自动打包的时候,会用到签名证书和描述文件,我在编译的时候搞了好长时间才搞明白,下面介绍如何得到正确配置. 证书:证书是用来给应用程序签名的,只有经过签名的应用程序才能保证 ...

  7. 【转】Valid signing identity not found解决办法(原有IDP私钥丢失)及Certificate、App ID、Devices、Provisioning Profiles之间区别--不错

    原文网址:http://blog.csdn.net/mad1989/article/details/8699147 前言: 刚刚把mini换成了macbookair,之前一直在mini上进行开发,到换 ...

  8. 新建Maui工程运行到IiOS物理设备提示 Could not find any available provisioning profiles for iOS 处理办法

    在构建 MAUI App 或 MAUI Blazor 时,您可能会收到以下 Could not find any available provisioning profiles for iOS. Pl ...

  9. Code Sign error: No unexpired provisioning profiles found that contain any of the keychain's signing certificates

    最近离职了,刚好在离职之际有人叫我帮做个项目,简直了,没有mac电脑,没有真ji设备,简直了.接项目那哥们,暂且叫做J,大哥说我给你想办法,then,给借了个mac pro.刚拿到电脑真是喜出望外啊, ...

随机推荐

  1. 关于JVM的一些东西

    1.在JDK1.6(HotSpot虚拟机)及之前,运行时常量池(属于方法区的一部分)是永久代的,而在JDK1.7之后运行时常量池(里面用于存放编译期生成的各种字面量和符号引用,这部分内容将在类加载后进 ...

  2. python学习之邮件

    分类smtp邮件 html邮件,带附件的邮件. 一 STTP邮件:设置SMTP代理机构,发送人的邮箱和密码,收件人的邮箱地址(email模块):接收端,发送(smtplib模块).SMTP(smtp_ ...

  3. 牛客网Java刷题知识点之Iterator和ListIterator的区别

    不多说,直接上干货! https://www.nowcoder.com/ta/review-java/review?query=&asc=true&order=&page=21 ...

  4. ubuntu触摸板关闭开启

    sudo rmmod psmouse          #用来禁用触摸板 sudo modprobe psmouse     #用来启用触摸板

  5. 一步步实现自己的ORM(五)

    上一张优化了ORM的INSERT.UPDATE.DELETE,但将数据库里的值填充到实体类这块还没优化.另外有博友在网上咨询说你这个都是查询所有字段的,而他的需求是按需查询字段,不是一次性取出来所有字 ...

  6. Java GUI 事件监听

    现在使用的仍是AWT的事件模型.涉及到3类对象: Event Source:事件源,即事件发生所在的组件 Event:事件,封装了此次事件的相关信息 Event Listener:事件监听器,监听事件 ...

  7. sizeof()用法汇总 zhuan

    sizeof()功能:计算数据空间的字节数1.与strlen()比较      strlen()计算字符数组的字符数,以"\0"为结束判断,不计算为'\0'的数组元素.       ...

  8. uvm_env——UVM大环境(UVM Environment )

    1 What is uvm_env? uvm_env is used to create and connect the uvm_components like driver, monitors , ...

  9. 【数据库-Azure SQL Database】JDBC 如何连接 SQL Azure 数据库

    使用 JAVA 代码连接 Azure SQL Database 时产生了 SSL 错误,对于此问题大多数用户都是因为不知如何编写 JDBC 连接字符串而产生的,以下为相关示例代码,供您参考:   pa ...

  10. inputStream 与 String 的互相转换

    一. String 转换为InputStream String str = "String 与 inputStream转换"; InputStream ins1 = new Byt ...