原文:http://www.oschina.net/question/1782938_234760
 
1、提交了.p12文件后多久可以测试?

提交后10分钟左右才可以测试,并不是立即生效的。

 
2、应用在后台时接收不到消息,即APNS消息接收不到?
1.    先去查看CID和APPID绑定是否正确。
2.    根据CID去查devicetoken,确认CID和devicetoken绑定是否正确。
3.    查看证书是否上传错误

4.    服务端推送的,请检查离线时间是否设置。

 
3、devicetoken和Clientid绑定错误怎么办?

原因如下:换证书环境后,devicetoken是变掉了,但是CID没变导致不会立即重新绑定devicetoken(一般是24小时后会重新绑定),服务端记录的还是原来的devicetoken。解决办法如下:需要一个gxsdkconfig.plist文件重新放在工程中,打包,卸载原来的应用并重新安装。CID变化了会重新绑定devicetoken,这样绑定就不会有问题了。

 
4、在发布到appstroe时,证书环境需要更换吗?
1.    开发的时候需要上传开发证书,开发测试OK后,发布到appstore之前,需要把证书更换成生产证书,证书更换后10分钟左右生效。
2.    苹果设备上,CID是唯一的,一般不会变化,一般不建议重新生成CID。

3.    如果CID与deviceToken绑定错误,需要重新生成一个CID来方便测试的操作方法:需要gxsdkconfig.plist文件,重新打包,把原来应用卸载重新安装新打包的这个。

 
5、更换证书后,客户端隔多久会重新绑定?

1.    证书更换后, 过24小时才会重新绑定一次,这时devicetoken会变掉。24小时内做测试的话,会因Clientid和devicetoken绑定问题导致消息接收不到,因为证书更换后的devicetoken变掉了但没有更新到服务器,导致服务端查询到的devicetoken是错误的。

 
6、无效的devicetoken问题
1.    一般来说是证书环境的问题,更换证书环境导致的。
2.    先看clientid和devicetoken绑定是否有问题。
3.    查看本地的证书环境是否与平台上传的证书环境一致。

4.    查看证书是否有过期。

 
6、为什么IOS客户端会收到两条一样的消息?
1.    是因为一个devicetoken绑定了两个Clientid导致的。

2.    因证书环境变更,导致Clientid与devicetoken绑定变化,但服务端的数据没有更新,还是与旧的devicetoken绑定的。当用plist文件获取到新的clientid后,会重新绑定一下,这时新旧两个clientid都会绑定到同一个devicetoken上。当群推消息时,会根据clientid找到devicetoken进行APNS发送,这时新旧两个clientid都会发送一条数据,导致客户端会接收到两条数据。

 
7、Tcp方式和http在性能上哪个比较好,各适用与哪个场景?
tcp是长链接,吞吐量更大,性能更好一些
tcp不支持toApp群推的

群推toApp用http方式的,因为只有一个请求

 
8、IOS平台推送成功接收,服务端代码推送toApp却接收不到,返回AppIdNoUsers错误?

查看代码里的phoneTypeList中添加的是否为IOS。要修改为add(“IOS”)

 
9、IOS签名失败的解决办法:
问题描述:The applicationdoes not have a valid signature.

解决办法:把BundleIdentifier 改成你自己的id,也就是说这里应该填你们证书里面已经申请的那个应用id。

 
10、生产证书下怎么获取devicetoken?

生产证书不能在Xcode里进行联机debug,要先把应用包打出来,安装在手机上,然后在Xcode的origanizer->device选择你的设置,然后在consloe里查看日志,devicetoken和clientid都会打印出来的。

 
11、ios开发证书以及生产证书打包教程

2、开发环境证书:http://wenku.baidu.com/view/6dddcd27192e45361166f505.html

 
12、关于ios8的通知功能:
1.如果使用ios8sdk编译,需要使用新的registerForRemoteNotifications/registerUserNotificationSettings接口,否则无法获取devicetoken

2.如果使用ios8以前的sdk编译,接口无需变动,直接使用老版本的registerForRemoteNotifications接口即可

 
13、收到通知后,点击通知栏后怎么让这条通知在通知栏里消失。
这个通知本来是不会清掉的,需要客户端自己写代码才能清掉,可以参考这里 http://www.cocoachina.com/ask/questions/show/99491
 
14、每次进行推送时,从屏幕上边弹出的提示框每次都是弹出两次,通知栏显示一条!

 ios9有这个bug,是系统本身bug,尝试重启试试

个推推送iOS版 常见问题详解的更多相关文章

  1. 了解iOS消息推送一文就够:史上最全iOS Push技术详解

    本文作者:陈裕发, 腾讯系统测试工程师,由腾讯WeTest整理发表. 1.引言 开发iOS系统中的Push推送,通常有以下3种情况: 1)在线Push:比如QQ.微信等IM界面处于前台时,聊天消息和指 ...

  2. 转载]IOS LBS功能详解[0](获取经纬度)[1](获取当前地理位置文本 )

    原文地址:IOS LBS功能详解[0](获取经纬度)[1](获取当前地理位置文本作者:佐佐木小次郎 因为最近项目上要用有关LBS的功能.于是我便做一下预研. 一般说来LBS功能一般分为两块:一块是地理 ...

  3. iOS中-Qutarz2D详解及使用

    在iOS中Qutarz2D 详解及使用 (一)初识 介绍 Quartz 2D是二维绘图引擎. 能完成的工作有: 绘制图形 : 线条\三角形\矩形\圆\弧等 绘制文字 绘制\生成图片(图像) 读取\生成 ...

  4. iOS 2D绘图详解(Quartz 2D)之路径(点,直线,虚线,曲线,圆弧,椭圆,矩形)

    前言:一个路径可以包含由一个或者多个shape以及子路径subpath,quartz提供了很多方便的shape可以直接调用.例如:point,line,Arc(圆弧),Curves(曲线),Ellip ...

  5. iOS开发——Block详解

    iOS开发--Block详解 1. Block是什么 代码块 匿名函数 闭包--能够读取其他函数内部变量的函数 函数变量 实现基于指针和函数指针 实现回调的机制 Block是一个非常有特色的语法,它可 ...

  6. iOS开发:详解Objective-C runTime

    Objective-C总Runtime的那点事儿(一)消息机制 最近在找工作,Objective-C中的Runtime是经常被问到的一个问题,几乎是面试大公司必问的一个问题.当然还有一些其他问题也几乎 ...

  7. iOS应用开发详解

    <iOS应用开发详解> 基本信息 作者: 郭宏志    出版社:电子工业出版社 ISBN:9787121207075 上架时间:2013-6-28 出版日期:2013 年7月 开本:16开 ...

  8. .NET Excel导出方法及其常见问题详解

    摘要:.NET Excel导出方法及其常见问题详解. 一.Excel导出的实现方法 在.net 程序开发中,对于Excel文件的导出我们一共有三种导出方式: 利用文件输出流进行读写操作 这种方式的导出 ...

  9. iOS开发者证书-详解

    iOS开发者证书-详解/生成/使用 本文假设你已经有一些基本的Xcode开发经验, 并注册了iOS开发者账号. 相关基础 加密算法 现代密码学中, 主要有两种加密算法: 对称密钥加密 和 公开密钥加密 ...

随机推荐

  1. BootStrap tabs标签 使用fade效果首次加载页面不能显示内容

    <div class="tab-pane active fade" id="home"> <div class="alert ale ...

  2. 【转】PowerShell入门(二):PowerShell是Cmd命令行的加强版吗?

    转至:http://www.cnblogs.com/ceachy/archive/2013/01/31/PowerShell_vs_Cmd.html PowerShell是命令行的加强版吗?Power ...

  3. Map.Entry

    Map.Entry Map是java中的接口,Map.Entry是Map的一个内部接口. Map提供了一些常用方法,如keySet().entrySet()等方法,keySet()方法返回值是Map中 ...

  4. python基础(三元运算+深浅拷贝+函数参数)

    三元运算 三元运算,又称三目运算,主要作用是减少代码量,是对简单的条件语句的缩写. 书写格式: result = 值1 if 条件 else 值2 即如果条件成立,则将值1赋给result变量,如果不 ...

  5. # TypeScript 中如何确保 this 的正确性

    问题 在 TS 里面 this 关键字一开始让我这个写 C# 的十分惊讶,比如下面的一段代码,注意 initBinding 方法 class Company { id:number; /** * 在点 ...

  6. 使用clusterprofile做聚类分析

    library(clusterProfiler ) #cat test.txt gene_symbol EXOSC10ARHGEF10LVWA5B1SRRM1PTAFRCSMD2SH3GLB1GBP6 ...

  7. CentOS6.5 安装 tomcat

    1.首先下载tomcat.tar.gz包 http://tomcat.apache.org/download-70.cgi 2.移动到目标文件夹 mv tomcat.tar.gz /usr/tomca ...

  8. Claims Identity

    using System;using System.Collections.Generic;using System.Linq;using System.Security.Claims;using S ...

  9. js函数、变量提升(hoisting)

    其实我只是想复习下变量提升的,然后看到了函数提升,然后再看到了函数声明.函数表达式. 有必要怀着敬仰之心提及园子里的TOM大叔的解密命名函数表达式,不愧是大叔,好好地脑补了下基础知识. 在ECMASc ...

  10. Shell 语法之输入输出

    Linux 使用文件描述符标识每个文件对象.文件描述符是一个非负整数,可以唯一地标识会话中打开的文件.每个进程中最多可以有9个打开文件的描述符. Linux 标准文件描述符 文件描述符 缩写 描述 0 ...