下面我来讲解一下友盟iOS的推送配置,其实友盟只是一个示例,换做其余的第三方推送服务也会适用,只是第三方的后面服务变了而已。
iOS推送(包括真机调试)所需要的步骤和文件如下:
备注:这里我将省略掉一些操作界面,如后台登录等;
一、在Identifiers中新建一个带Push Notifications服务的App IDs;
1、进入添加的页面
2、填写App ID Description,这里我填写了”pushapp”
3、填写App ID Suffix,这里我填写了“com.xxx.pushapp”
4、勾选App Services的Push Notifications服务,并点击Continue按钮提交保存
这里需要注意的是,一定要勾选Push Notifications的服务,这个是推送的必选项
5、到达提交页面的最后信息确认并提交,其中界面上的Push Notifications状态为Configurable是正常现象,原因是证书没有配置好。下面配置好之后,就会显示为Enabled的状态。
提交之后,我们再选择最下方的Done按钮就全部完成,并跳转到列表界面,至此App IDs就新建完成了
二、在Devices中的iPhone添加一台进行真机调试的设备,需要把调试设备的UUID进行录入,这部我省略步骤,自行尝试,不过一定要切记,设备只有100个,输错UUID之后是不能更改的,所以添加之前要谨慎操作;
三、在Certificates中添加证书;
注意:证书添加我们需要添加4个(①开发证书、②推送开发证书、③发布证书、④推送发布证书),这里我需要特别说明的是,开发证书和发布证书是用来真机调试和打包的,而推送开发证书和推送发布证书是用来调用苹果第三方推送API所需要用到的证书,所以再我们的Xcode中选择证书的时候是选择不到这两个推送证书的;最终这两个推送证书,会在电脑导出p12证书,来供第三方平台进行接口的调用;
下面我们来详细如何生成这几个证书:
备注:前一步骤,先在本机生成一个请求证书的文件:
打开证书助理,填写电子邮箱地址,选择“储存到磁盘”,保存文件:
首先打开“钥匙串访问”对话框
选择左上角的“钥匙串访问-》证书助理-》从证书颁发机构请求证书”下拉框,出现“证书助理”对话框,填写相关信息:
选择“继续”按钮之后,出现保存到哪里的界面,我这里直接选择桌面进行保存;
到这里,我们的请求文件就新建好了,下面我们将进行证书的生成。
① 开发证书,也就是用来真机调试的证书
1、打开Certificates的Development的选项,选择添加界面:
2、在Development下方选择iOS App Development选项
注意:这个证书是一个账号只能新建一个,如果下次你再新建这个开发者证书的时候,这个选项是灰色的。
选择“Continue“按钮提交保存
然后选择开头所创建request文件
选择完文件提交后,就已经生成完成证书,这届点击下载按钮下载回来
我们先下载回来桌面,然后双击它,把它导入到本机,可能会输入密码,照输即可;
② 发布证书,用于打包ipa并上架到苹果的证书
发布证书的生成和以上的操作步骤一样,下面我将以图片的形式展示步骤:
1、
2、
注意:这个证书是一个账号只能新建一个,如果下次你再新建这个开发者证书的时候,这个选项是灰色的。
3、
4、
5、
③ 推送开发证书,用于在本机导出p12证书供第三方平台调用苹果推送api的证书。
这个的操作步骤也是和上面一样,唯一不一样的就是类型,留意一下步骤:
1、
这个选项是可以多个,不是一个账号一个,可以根据实际需要来新建
2、
到了这一步就知道上面的类型为什么可以多个了,是对应App IDs中新建的App ID;这里我们选择刚才创建的App ID;
3、
4、
5、
④ 推送发布证书,用于在本机导出p12证书供第三方平台调用苹果推送api的证书。
推送的发布证书操作步骤也是一样,操作步骤如下:
1、选择类型
2、
3、
4、
5、
到这里,证书全部生成完成,然后我定位到我的证书,双击进行导入,这时,证书列表如下展示:
四、在Provisioning Profiles中新建开发的配置文件和发布的配置文件
①、开发配置文件
1、
2、
3、
4、
5、
6、
②、发布配置文件
操作和上面一致,类型不一样而已;
1、
2、
3、
4、
5、
6、
以上的配置文件全部新建完成,我们双击导入即可
五、友盟的iOS工程文件配置以及真机调试
1、先去友盟的官网下载sdk demo,然后修改App key
2、
3、
然后进行真机调试,此时不会弹出任何对话框进行确认,真机调试之后会收到是否要推送的确认框,这时,你就成功了。
发布时的配置文件选择:
和前面两部是一致的,不同的只是配置文件的选择和证书不一样:
通过上面的配置,你已经成功的调试项目了,并且能注册devicetoken;
六、进入友盟的后台配置友盟的APP推送信息
1、生成推送开发证书和推送发布证书的p12文件
操作分别如下,此时
推送开发证书:
推送发布证书:
导出之后,如图所示:
2、登录友盟的推送后台,在应用基本信息出,分别上传这两个证书,并填写p12的导出密码(我这里是已经新建好了应用之后操作的,只展示重点步骤)
3、开发环境的推送:
先真机调试之后,获取devicetoken,添加测试,然后再发送测试消息
4、生成环境的推送和开发环境基本一致,不过不用添加测试设备
5、如果在发送测试消息中,提示devicetoken无效,一定是你的证书错误,请重新按照以上步骤再操作一次。
特别说明,我上面所说的发布证书是指打包成测试设备的发布证书,如果要上传到app sotre的,你的配置文件就必须选择这个类型:
友盟iOS推送配置(从真机调试到推送)的更多相关文章
-
iOS 开发之 Xcode6 创建真机调试证书
http://jingyan.baidu.com/article/ff411625b8141312e48237a7.html 1.登录苹果开发者中心 2.登录后的界面如图所示,如果没有最上面的两个选项 ...
-
在Mac系统上配置Android真机调试环境
在Mac系统上配置Android真机调试环境 mac上配置安卓环境还说挺方便的,真机调试也比win上要好一些.win上被各种软件强行安装了xxx助手. 在mac上就了一个干净的感觉. 下载Androi ...
-
XE6 /XE8 &; IOS开发之免证书真机调试三步走,生成iPA文件并安装到其它苹果设备上
XE6 & IOS开发之免证书真机调试(1):颁发属于自己的App签名证书(有图有真相) XE6 & IOS开发之免证书真机调试(2):连接真机并运行App(有图有真相) XE6 &a ...
-
XE8 &; IOS开发之免费证书真机调试:开发证书、AppID、开发授权profile的申请,附Debug真机调试演示(XCode7 Beta版或以上版本适用,有图有真相)
网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 注意,苹果发布Xcode ...
-
XE6 &; IOS开发之免证书真机调试(1):颁发属于自己的App签名证书(有图有真相)
网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 1.自己给自己颁发证书, ...
-
iOS工具——Xcode9无证书真机调试
入坑iOS开发这么久,一直都是在模拟器上运行,公司的项目也都有公司的开发者账号进行真机调试.但是很多时候在网上download一些demo想在真机上运行看一下效果的时候都没法成行,今天抽空好好研究和学 ...
-
XE6 &; IOS开发之免证书真机调试(2):连接真机并运行App(有图有真相)
网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 连接真机前,请先确保真机 ...
-
XE6 &; IOS开发之免证书真机调试(3):生成iPA文件并安装到其它苹果设备上(有图有真相)
网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 1.既然我们已经在真机上 ...
-
iOS之Xcode 8.0真机调试运行:This ** is running iOS 10.1.1 (14B100), which may not be supported
2016年10月份 苹果升级了iOS系统为10.1,xcode 8.0 运行会提示: This iPhone 5 (Model A1429) is running iOS 10.1.1 (14B100 ...
随机推荐
-
POJ1061 青蛙的约会-拓展欧几里得
Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止.可是它们出发之前忘记了一件很重要的事 ...
-
UIViewController启动过程
流程:判断是否view属性为nil,如果为空,调用loadView方法,如果重写了loadView方法,那么从代码创建普通视图,如果没有重写并且有storyBoard或者xib文件,那么从storyB ...
-
悟透javascript读书笔记
1.undefined,null,0,"" 这四个值转换为逻辑值时是false,其他无论简单类型值,对象或者函数转换过来都是true 2.如图 第一个是“声明了一个变量,给变量赋 ...
-
PHP太怪了,in_array() ,strpos,
PHP中在某个字符中查找另外一个字符串,是否存在,用的是strpos,此函数用法,经常很多人用反了,正确的用法是strpos(string,search),strstr等,前面是原字符串,后面是要在原 ...
-
python函数参数前面单星号(*)和双星号(**)的区别
在python的函数中经常能看到输入的参数前面有一个或者两个星号:例如 def foo(param1, *param2): def bar(param1, **param2): 这两种用法其实都是用来 ...
-
java学习之总结
学的时候忘记写博客,现在java SE学完了一口气把写的代码发了上来没有做什么补充,其中有很多知识漏掉了,学的有点不扎实,接下来写写项目来稳好基础
-
属性动画ValueAnimator用法
用法举例: 1. ValueAnimator animator = ValueAnimator.ofInt(0,100);//定义animator 2. animator.addUpdateListe ...
-
NET Core微服务之路:基于Ocelot的API网关Relay实现--RPC篇
前言 我们都知道,API网关是工作在应用层上网关程序,为何要这样设计呢,而不是将网关程序直接工作在传输层.或者网络层等等更底层的环境呢?让我们先来简单的了解一下TCP/IP的五层模型. (图片 ...
-
【学习】如何安装GraphLab Create 【转载】
前人走过的路不用再走,慢慢加上一些工具的链接 GraphLab Create安装,链接地址: http://www.imooc.com/article/18094?block_id=tuijian_w ...
-
20175213 2018-2019-2 《Java程序设计》第9周学习总结
教材学习内容总结 根据课本的介绍下载了MySQL和Navicat for MySQL并成功对后者进行破解: 操作方法可分为三步: 一.配置程序--让我们程序能找到数据库的驱动jar包 1.把.jar文 ...