下面我来讲解一下友盟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推送配置(从真机调试到推送)的更多相关文章

  1. iOS 开发之 Xcode6 创建真机调试证书

    http://jingyan.baidu.com/article/ff411625b8141312e48237a7.html 1.登录苹果开发者中心 2.登录后的界面如图所示,如果没有最上面的两个选项 ...

  2. 在Mac系统上配置Android真机调试环境

    在Mac系统上配置Android真机调试环境 mac上配置安卓环境还说挺方便的,真机调试也比win上要好一些.win上被各种软件强行安装了xxx助手. 在mac上就了一个干净的感觉. 下载Androi ...

  3. XE6 /XE8 & IOS开发之免证书真机调试三步走,生成iPA文件并安装到其它苹果设备上

    XE6 & IOS开发之免证书真机调试(1):颁发属于自己的App签名证书(有图有真相) XE6 & IOS开发之免证书真机调试(2):连接真机并运行App(有图有真相) XE6 &a ...

  4. XE8 & IOS开发之免费证书真机调试:开发证书、AppID、开发授权profile的申请,附Debug真机调试演示(XCode7 Beta版或以上版本适用,有图有真相)

    网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 注意,苹果发布Xcode ...

  5. XE6 & IOS开发之免证书真机调试(1):颁发属于自己的App签名证书(有图有真相)

    网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 1.自己给自己颁发证书, ...

  6. iOS工具——Xcode9无证书真机调试

    入坑iOS开发这么久,一直都是在模拟器上运行,公司的项目也都有公司的开发者账号进行真机调试.但是很多时候在网上download一些demo想在真机上运行看一下效果的时候都没法成行,今天抽空好好研究和学 ...

  7. XE6 & IOS开发之免证书真机调试(2):连接真机并运行App(有图有真相)

    网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 连接真机前,请先确保真机 ...

  8. XE6 & IOS开发之免证书真机调试(3):生成iPA文件并安装到其它苹果设备上(有图有真相)

    网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 1.既然我们已经在真机上 ...

  9. 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 ...

随机推荐

  1. java8-1 final

    1.final可以修饰类,方法,变量 特点: final可以修饰类,该类不能被继承. final可以修饰方法,该方法不能被重写.(覆盖,复写) final可以修饰变量,该变量不能被重新赋值.因为这个变 ...

  2. Java基础详解 (一)Java的类成员访问权限修饰词(以及类访问权限)

    在一个类的内部,其成员(包括成员变量和成员函数)能否被其他类所访问,取决于该成员的修饰词.Java的类成员访问权限修饰词有四类:private,无(默认情况下),protected和public.其权 ...

  3. FusionCharts V3图表导出图片和PDF属性说明(转)

    百闻不如一见,狠狠点击,快快下载:(演示文档有错误,不提供下载了.待新的演示文档出来.) 许多朋友说上面的DEMO用不了.fusioncharts官方的演示非常不错,就是来不及整理,各位大侠们可以研究 ...

  4. FusionCharts或其它flash的div图层总是浮在最上层? (转)

    div的图层由div的style中的z-index来决定,z-index是层垂直屏幕的坐标,0最小,越大的话位置越靠上. 由于FusionCharts的图表都放在div中,如果页面还有其他的div,将 ...

  5. 【转】【C++】ShellExecute, WinExec, CreateProcess 三者的区别

    ShellExecute ShellExecute的功能是运行一个外部程序(或者是打开一个已注册的文件.打开一个目录.打印一个文件等等),并对外部程序有一定的控制. 有几个API函数都可以实现这些功能 ...

  6. Delphi7下SuperObject的JSON使用方法

    uses superobject; procedure TForm1.FormCreate(Sender: TObject); var aJson: ISuperObject; aSuperArray ...

  7. Math类和Random类(数学公式相关类)

    Math 类包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函数. 常用方法: 1.static 数值类型 abs(数值类型 a)      返回 double 值的绝对值. 2.sta ...

  8. Java从0开始学——字符串

    #,java中的字符串是不可变的: #,比较两个字符串是不是相等,不能用==,因为那只能确认他们是否指向了同一个字符串对象: #,空串和null是不同的: #,代码点和代码单元     #,代码点表示 ...

  9. 从0开始学Java——eclipse下运行servlet程序警告:Setting property 'source' to 'org.eclipse.jst.jee.server:类名' did not find a matching property.

    在使用Eclipse 创建第一个 Servlet之后,并且配置好了tomcat,然后Run on server的之后,提示标题所示错误: 警告: [SetContextPropertiesRule]{ ...

  10. Scala学习笔记(七):Application特质

    Scala提供了特质scala.Application 在单例对象名后面写上“extends Application”,把想要执行的代码直接放在单例对象的花括号之间 import ChecksumAc ...