本系列教程写于2016年9月,所用开发环境是
XCODE(7.3.1),
SWIFT(3.0),
PHP(5.5.36),
APACHE(2.4.18)
禁止转载!


如果在看这篇教程之前,如果没有看过前面的章节,你可以回去看看一看前面的章节


现在我们打开苹果开发者平台,点击右上角的Account,输入用户名密码进平台,进去后点击我用黑线圈着的『Certificates,IDs&Profiles』

然后就进入到了证书这个页面,不要在意我划掉的部分,那些一点用都没有

我们看到左边有四栏分类,分别是Certificates、Identifier、Devices、Provisioning Profiles
让我来解释一下你需要知道的东西

第一项Certificates(证书):开发一个app需要有苹果的授权才能发布,我需要申请一个证书证明我的身份,还需要申请另一个证书来证明我有使用APNs服务器的权利,那么在这一栏里我将申请两张证书,一个叫做开发者证书(证明我是给了苹果钱的合法开发者),一个叫做APNs服务证书(证明给APNs服务器我可以用推送服务)。

第二项Identifier(身份):每一个APP都要有一个类似身份证一样的身份证明文件,所以我要在这一栏里给我的测试APP申请一个『身份证』

第三项Devices(设备):这一项只有在测试的时候会用到,苹果规定用来测试的设备不能超过100台(大概),所以我们要在这里把需要进行真机测试的设备的UUID(类似网卡的MAC地址,唯一的)添加进来,一会我会把自己的IPhone加进来。

第四项Provisioning Profiles(配置文件):用XCODE开发的APP会需要一个配置文件来进行发布或者测试,这个配置文件上配置上各种信息,包括APP的【身份证】啊,开发者证书啊,需要测试的设备啊等等,总得来说是上面三项的一个集合,这一栏我们会最后添加。


在申请证书之前,让我们先用XCODE建立一个APP,就叫做APNsDemo吧,建立在桌面就好


注意在这里我的APP的Bundle Identifiercom.wutang.APNsDemo,这个你可以改成你喜欢的,不过后面注意响应的替换就好。

APP建好了,桌面会出现一个APNsDemo的文件夹,我再在左面建立一个APNsDemoFiles文件夹,后面会用到。


回到开发者网站,选中Certificates的ALL选项,如果你是第一次进来右边证书栏应该是空的,不是空的也没关系,不要管哪些。在右边的栏目里的右上角,点击那个”+”号,新建一个证书。

  1. 他会让你选择你要建立的证书的类型,我先要建立一个开发者证书,所以选中Development栏里的IOS APP Development,下拉,点击Continue。

  2. 进入下一页后,他要求你提供一个CSR文件,这个CSR文件是从苹果CA那里申请来的,帮你生成密钥对和证书什么的,你就照着这一页的提示一步一步做就好了。

    • 先打开Keychain Access(command+space,输入keychain 或者在launchpad的工具里面找)
    • 左上角Keychain Access->Certificate Assistant->Request A Certificate….
    • 选中save to disk,然后点击continue,保存到桌面上的APNsDemoFile文件夹(就是之前我创建过的那个),名字默认就好,保存好后你的APNsDemoFiles文件夹下应该有个叫做CertificateSigningRequest….Request的文件

  3. 然后回到证书申请页面,点击Continue,出现新页面,点击Choose File…,然后选中我们刚才生成的那个文件(CertificateSigningRequest….Request),点击Continue生成证书并进入下载页面。

  4. 点击DownLoad下载证书到APNsDemoFiles文件夹,然后点击Done按钮,我们可以看到在Certificates->All这栏的右边,多了一个证书,日期是今天,类型是IOS Development(IOS 开发者)

  5. 然后双击 APNsDemoFiles文件夹里刚刚下载的ios_development.cer,会将我们的开发者证书自动安装到系统的Keychain Access里面


至此我的开发者证书就创建完成并导入到系统了,下面我要创建一个APP Identifier,也就是我开发的APP的『身份证』,至于为什么不紧接着创建一个推送证书,是因为推送证书的建立需要绑定唯一的APP,需要这个Identifier,所以我需要先建立这个Identifier

  1. 打开开发者中心,点击左面的Identifiers->App IDs ,如果你是第一次进入,右边应该是空的或者一个导航栏

  2. 和建立开发者证书一样,在右上角找到『+』号并点击它新建一个APP IDs

    • App ID Description
      这一栏填写的App ID的介绍的,也就是要起一个自己好认出来的名字,随便写
    • App ID Prefix
      这一栏是前缀,系统填好了
    • App ID Suffix
      这一栏有两个选项,Explicit App ID 是指定唯一的APP,Wildcard APP ID 是一个通用App ID,因为我的APP有Push Notification的功能所以必须用第一个,指定唯一APP的选项,在Bundle ID里填写XCODE项目APNsDemo里面设置好的Bundle ID

    • App Services
      这里选择APP需要用到的服务,因为我要用到Push Notifications这个服务,所以勾选上这一项

  3. 点击Continue,我们看到Push Notifications那个选项写的是Configurable,没关系,点Register

  4. 系统会让你浏览一遍刚刚建立的App ID的内容,如果你的像我的一样(除了Identifier),那应该没问题了,点击Done吧

  5. 这时网页会跳回Identifiers->App IDs选项页,右边也会出来我刚刚创建的App ID

  6. 单击APNsDemo,这个APP ID的配置内容会展现出来,我们看到Push Notifications这个选项的Development和Distribution全都是黄色的Configurable,分别对应开发环境和发布环境,也就意味着这两个环境下的Push Notification功能现在还不能用,需要我去配置,但是在这里我只需要配置开发环境(Development)就好了,点击下面的Edit

  7. 找到下图这里,可以看到有两个Create Certificate…按钮,分别对应着创建测试环境消息推送证书和生产环境消息推送证书,点击上面那个Create Certificate…,也就是Development SSL Certificate栏里的

  8. 注意左边导航栏,又跳回了Certificates栏目了,这时我们就是要开始创建测试环境下的推送通知证书了,还保存有之前那个CSR文件吗?有的话就点击Continue继续吧

  9. 选择在APNsDemoFiles文件夹下的CSR文件,点击Continue

  10. 同样的,我把这个新生成的证书下载到APNsDemoFiles文件夹下,然后点击Done,完成这个Push Notification证书的制作。

  11. 现在我的APNsDemoFiles里有三个文件,一个CSR文件,两张证书文件,如果你没有改名字的话,这个文件夹里面是这样的

  12. 这时候在打开Cerificates->All看看证书是不是多了一个叫com.wutang.APNsDemo的证书,类型是APNs Development IOS,这就是我们需要的第二个证书,推送服务认证证书

  13. 再点开Identifiers->App IDs,找到你刚创建的那个APP ID并单击它,是不是Push Notifications 的Development已经Enabled了?OK,现在证书和APP认证已经全部完成了


下面导入测试设备的UDID

  1. 点击左边栏的Devices->All,然后点击右上角的’+’号

  2. 选择第一个Register Device,因为我只需要注册一个设备,如果需要一下注册许多设备,可以自己研究下Register Multiple Devices 这个选项,在Name里写一个你容易记住的名字,UDID里填写你的IPhone的UDID,至于UDID怎么获取,看这里,然后点击Continue就可以在Devices->All里看到你刚刚注册的设备了


好了,下面最后一步创建配置文件(Provisioning Profiles)

  1. 同样,选择Provisioning Profiles->All,然后点击右上角’+’号,创建一个新的配置文件

  2. 你需要一个什么环境下的配置文件呢?我们当然要选择Development环境了,如上图那样选择IOS App Development,然后点击Continue

  3. 选择这个配置文件所对应的APP ID,我们找到我们刚刚创建的那个APP ID,选择后Continue

  4. 选择你的开发者证书,如果你不确定选哪个,那就全都勾选上吧!然后点击Continue

  5. 这一步是选择需要测试的设备,在列表里选择你希望在哪台IPhone上进行测试,然后点击Continue

  6. 最后给这个配置文件起个名字吧!下面这张图里Certificates是2个,按说是一个才对,是因为我刚才选择了两个开发者证书,大家不要在意这个,点击Continue

  7. 把配置文件下载到ANPsDemoFiles文件夹下,现在的这个文件夹一共应该有四个文件,像这个样子

  8. 点击Done,现在关于证书的配置就全部都完成了,可以看到,我们刚刚配置的证书已经处于激活状态了


这里要说明以下为什么在配置文件里不见选择推送证书的选项,是因为我们在配置APP ID的时候已经绑定了推送证书,而在配置文件里又绑定了APP ID,所以就等于已经通过APP ID绑定了推送证书了

最后让我们整理以下一共创建了多少东西

两个证书:1.开发者证书 2.推送通知证书
一个APP ID
一个测试设备(Device)
一个配置文件(Profile)

那么接下来我们进入XCODE,进入APP前端的编程,到此,开发者网站就没有用了,因为该下载的都已经保存到APNsDemoFiles里了。

APNS部署教程2(证书配置)相关推荐

  1. 腾讯云服务器配置https 部署安装ssl证书

    腾讯云服务器配置https 部署安装ssl证书 配置:CentOS 7 我是使用nginx服务器对Vue项目进行挂载,所以这里主要说明nginx服务器如何配置https服务 如何安装nginx Ngi ...

  2. Exchange 2013部署系列之(七)配置SSL多域名证书

    Exchange 2013部署系列之(七) 配置SSL多域名证书 前面六篇博客我们详细讲解了Exchange Server 2013的部署和配置,Exchange一些服务,如 Outlook 无处不在 ...

  3. 网页证书添加_二、Exchange2016部署及基础配置(NDS及证书配置)

    1.DNS轮询 负载说明:使用DNS轮询实现负载均衡,最大的优点就是部署简单,基本上不需要成本,如果一台exchange服务器彻底宕机,http客户端(Outlook)足够智能,可以连接到另一台服务器 ...

  4. 2021最新 阿里云服务器免费SSL证书配置方法(图文教程)

    我觉得在大家学习如何利用免费SSL证书配置网站HTTPS之前,要弄清楚开启HTTPS有什么利弊.所谓的HTTPS其实是(安全套接字层超文本传输协议)是以安全为目标的HTTP通道,简单讲是HTTP的安全 ...

  5. SpringBoot项目部署到华为云ssl证书配置

    一:前提 首先我们应该去华为云申请ssl证书,一般有单域名,泛域名,多域名的类型,我这边是单域名申请的. 二:下载证书 当我们申请好证书后,我们需要下载证书,到电脑本地. 三:配置ssl证书 配置ss ...

  6. 最新阿里云服务器免费SSL证书配置HTTPS的两种方法(图文教程二)

    在大家学习如何利用免费SSL证书配置网站HTTPS之前,我们先要搞清楚为什么要开启HTTPS,这个绿色的小锁真的有用吗?所谓的HTTPS其实是(安全套接字层超文本传输协议)是以安全为目标的HTTP通道 ...

  7. Windows Server 2019服务器远程桌面服务部署+深度学习环境配置教程

    文章目录 1.安装Windows Server 2019 2.开启WLAN服务 3.固定IP地址 4.开启远程桌面服务 4.1 添加远程桌面服务 4.2 激活服务器 4.3 安装许可证 5.配置远程桌 ...

  8. tflearn教程_环境部署——Windows下安装配置tensorflow和tflearn

    原标题:环境部署--Windows下安装配置tensorflow和tflearn 本例依赖Windows 7 x64位系统,由于Tensorflow依赖于Python,以及大量的相关依赖包,为了免除大 ...

  9. windows系统下,Apache安装腾讯云SSL证书配置教程(phpstudy环境)

    第1步.登录腾讯云申请SSL证书并下载,这里省略申请的步骤. 第2步.解压证书文件,打开Apache文件夹,里面有三个文件,如下: 1_root_bundle.crt // 公钥 2_www.cpw5 ...

最新文章

  1. 谈谈现在的状况,顺便给以后找工作的和我一样的毕业生说说
  2. return 函数
  3. linux中文系统换英文字体,linux系统下肿么切换字体?
  4. 区块链浏览器_全球首款区块链浏览器是啥名堂?傲游6首发体验
  5. webpack打包优化_提速MAX 京东通天塔WEBPACK构建发布优化实践
  6. RadioButtonList控件绑定图片Vertical对齐
  7. C++ 中list、vector和deque比较[转]
  8. 解决Android 应用运行报Unable to resolve superclass of L错误
  9. DarkAngels勒索病毒分析
  10. 小苹果源地址_越狱常用源地址推荐
  11. 基于STM32F103完成对SD卡的数据读取操作
  12. python之单例模式
  13. 基于数据挖掘技术的客户保有应用研究
  14. 笔试题??智商题??
  15. 条码打印软件如何制作快递电子面单
  16. java商城答辩_毕业答辩-基于Java的网上购物商城的设计与实现.ppt
  17. 通用验证系统commons-validator
  18. linux启动一个进程吗,当你在Linux上启动一个进程时会发生什么?
  19. java Map的知识点
  20. 更改sqlserver服务器的登录名称

热门文章

  1. NumPy从入门到高级
  2. SpringCloud的实用篇
  3. 4G5G相关缩略词中文及功能简述
  4. visio跨职能流程图带区背景及大小及改变格式 (转)
  5. Win10 下报错 WerFault.exe -解决方法亲测有效
  6. ExpandableListView讲解
  7. 独轮平衡车c语言源码,两轮平衡车STM32源代码
  8. 为云服务器(VPS)增加一个站点支持
  9. 银河麒麟高级服务器v10 sp2 下fpm工具打包rpm
  10. 如何恢复小强中被修改的软件包