极光推送demo测试流程,测试过程中可能遇到的问题和解决方法

Posted 爲妳鎻愛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了极光推送demo测试流程,测试过程中可能遇到的问题和解决方法相关的知识,希望对你有一定的参考价值。

创建开发证书,创建描述文件,极光推送页面设置,Xcode工程设置,真机测试

步骤1:创建开发证书

<1>.登陆 https://developer.apple.com进入开发者中心

技术分享

<2>进入创建和描述文件页面

技术分享

<3>.点击App IDs 创建一个app id

技术分享

<4>.进入创建页面以后在App ID Description输入app id 的名称

技术分享

<5>.填入一个唯一的app id (注:推送的app id 只能创建一个唯一的,不能使用通用的。)

Explicit App ID是一个唯一的app id Wildcard App ID是一个通用的app id (可以用*代替任意内容)

技术分享

<6>.勾选Push服务

技术分享

<7>.下一步,此时服务的选项是黄色的,代表需要创建对应的证书,(证书下面创建,先完成app id 的创建)点击继续,完成创建

技术分享

<8>.创建证书

技术分享

<9>.勾选测试推送证书,(这个证书用于服务器向APNS发送推送请求的时候使用)点击继续

技术分享

<10>.选择我们刚才1~9步的时候创建的app id 点击继续

技术分享

<11>.提醒你需要一个CSR文件

技术分享

<12>.上传(CSR文件)。

<12.1> 创建CSR文件的流程

打开钥匙串- 点击菜单的钥匙串访问-证书助理-从证书颁发机构请求证书

技术分享

<12.2>填写请求的详情,输入请求者的邮箱,可以通过邮箱发送给请求者,也可以储存到本地磁盘

点击继续

技术分享

<12.3>选择位置,点击储存(创建好的CSR文件会出现在对应的文件夹中)

技术分享

<13>.点击选择文件,来提交我们创建的CSR文件

技术分享

<14>、选择对应的CSR文件点击选取,然后点击继续。

技术分享
技术分享

<15>、下载这个证书

技术分享

步骤2:创建描述文件

<1>开始创建描述文件

技术分享

<2>选择描述文件的类型,然后点击继续

技术分享

<3>.选择这个描述文件包含的app id(app id 是1~9步所创建的)

技术分享

<4>.选择所需要用到的证书(如果有多个可以全选)

技术分享

<5>.选择所需要用到的设备(可以全选)然后点击下一步。

技术分享

点击完成以后双击证书和描述性文件, 上面申请的证书是测试远程推送的一个证书。
测试推送证书只用于服务器向apns发送消息的时候使用 (一般要求为pem文件)可以先导出p12然后在转换成pem文件

步骤3: 极光推送页面设置

<1>双击打开证书

双击打开证书后,证书打开时会启动“钥匙串访问”工具。 在“钥匙串访问”中你的证书会显示在“我的证书”中

技术分享

<2>导出 .p12 证书文件

技术分享

<3>将文件保存为Personal Information Exchange (.p12)格式。

技术分享

<4>上传证书

在 JPush 管理 Portal 上,针对某应用程序,上传上面步骤得到 .p12 证书文件。这是 ios SDK 能够接收到 JPush 推送消息的必要步骤。

<4.1>在JPush Portal上创建应用

在 JPush的管理Portal 上创建应用并上传APNs证书。如果对APNs证书不太了解 请参考: iOS 证书设置指南

技术分享

<4.2>创建成功后自动生成 AppKey 用以标识该应用。

技术分享

步骤4:Xcode工程设置

<1>.项目代码

AppDelegate.h里面的代码: #import### staticNSString appKey = @“4fd48a0712a3fde75eb1c7423”;//申请应用成功以后官方会提供给你. staticNSString channel = @“Publish channel”; staticBOOL isProduction = FALSE; @interface AppDelegate :UIResponder ### @property(strong,nonatomic) UIWindow *window; @end

<2>. Xcode的证书配置教程

参照iOS SDK 集成指南集成JPush SDK 和上传了推送用到的p12证书后在编译运行前需要先配置一下证书,步骤如下: 打开xxx-info.plist的Bundle identifier项把上传到JPush 控制台的bundle id填写进去:

技术分享

<3>点击项目,选择目标TARGETS后进入Build Setting 界面,搜索“Code signing”,按照下图配置

技术分享

<4>客户端设置

需要在Xcode 中修改应用的 Capabilities 开启Remote notifications,请参考下图:

技术分享

步骤5:真机测试

<1>登陆到极光推送官网

技术分享

<2>选择应用,也就是你创建测试的项目:我的项目是aa.TestPush

技术分享

<3>点击发送通知

点击左边的发送通知,也可以选择自定义消息(这里我选择的发送通知):

技术分享

<4>填写推送内容

这里我随便写点什么用我手机测试:

技术分享技术分享

<5>点击立即发送:

技术分享

<6>手机上的显示:

技术分享

<7>推送历史

技术分享

===================================================================================================================================================================================================================================================================================================================================================

测试过程中可能遇到的问题和解决方法

1.提示“Not get deviceToken yet. Maybe: your certificate not configured APNs? or current network is not so good so APNs registration failed? or there is no APNs register code? Please refer to JPush docs.”

原因:我的CodeSigning中的Provision Profile没有选择正确,原因是我在apple的dev中心修改了配置,但没有更新到xcode。更新可以在账户管理中找到,xcode菜单在Xcode->Preferences->account选项卡,在Apple IDs中找到你得账号,点击右下角的view detail按钮,在弹出的窗口中点击左下角的刷新按钮即可刷新最新的Provision Profile。最后在CodeSigning中的Provision Profile中选择最新的值即可。

2.在给新的iphone手机测试时,接收不了推送消息

原因:你的描述文件中不包含新手机的设备。 要去开发者中心更新你的描述文件。添加新的设备。然后重新下载描述文件,双击在运行Xcode

3.在真机测试的时候往往会突然出现这样一个错误,code signing is required for product type ‘Application’ in SDK’iOS 9.1’ 。

原因:就是说代码签名证书不对劲

解决方案1.选择工程->Build Settings -> Code Signing -> Code Signing Identity -> Debug -> Any ios SDK 将选项改为:iPhone Developer

解决方案2.重新下载你的证书,或者修改通配符,或者说修改你的appid 。选择工程 -》Bundle Identifier 修改为最新的appid 。造成这种原因是因为你修改了你的app sdk版本。

如果还不行,可以试试 Edit Project Setting 下面的那个菜单:Edit Active Target “Hello World” =》Build =》 Code Signing =》 Any ios 的值设置为iphone Developer

4.编译报错Could not find Developer Disk Image

原因:字面意思是找不到开发者的磁盘映像!!大概意思是Xcode7.1 不支持iOS9.2 解决方法1.更新了Xcode 解决方法2. 下载iOS9.2的配置文件包,右键打开xcode的显示包内容,拷贝到你的/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport这个目录下(需要注意一点的是,将配置文件拷贝过去后,将XCode重启下再进行编译,如果还不行,可以尝试将MAC重启,如果正常的话,会重新扫描符号文件,待扫描完成,就可以进行真机调试了。)


以上是关于极光推送demo测试流程,测试过程中可能遇到的问题和解决方法的主要内容,如果未能解决你的问题,请参考以下文章

基于CMPP协议集成短信测试桩全流程实践分享

基于CMPP协议集成短信测试桩全流程实践分享

基于CMPP协议集成短信测试桩全流程实践分享

极光消息推送多环境配置

iOS10.0下的极光推送

iOS极光推送