极光推送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测试流程,测试过程中可能遇到的问题和解决方法的主要内容,如果未能解决你的问题,请参考以下文章