APN push的消息到达后,UIApplicationDelegate有两个方法和处理消息有关:
- application:didReceiveRemoteNotification:
- application:didFinishLaunchingWithOptions:
下面的流程图显示了app在处理推送消息的一个流程。
测试推送的流程时,有两个难题:
- 推送需要服务端配合,搭建整个远程推送的环境很困难。
- 在测试程序没有运行时,没有有效的办法检测程序的处理流程。
针对上面的问题,在测试过程中分别找到了对应的处理方式。
第一个问题的解决办法是用本地推送来代替远程推送。经查阅apple的官方文档:
http://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/WhatAreRemoteNotif.html#//apple_ref/doc/uid/TP40008194-CH102-SW1
远程推送和本地推送在处理流程上是一致的,不同的地方是delegate的方法和参数不同。所以只是测试推送在应用端的处理流程的话,是可以用本地推送模拟远程推送的。
第二个问题的解决方案是输出的重定向:参靠下面的网址:
具体代码如下:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *logPath = [documentsDirectory stringByAppendingPathComponent:@"console.log"];
freopen([logPath cStringUsingEncoding:NSASCIIStringEncoding],"a+",stderr);
NSLog(@"application didFinishLaunchingWithOptions");
将stderr重定向到一个文件后,所有NSLog的输出就由console转到了指定的文件。
相关推荐
关于IOS_APNS推送消息(iphone端+服务端)。关于IOS_APNS推送消息(iphone端+服务端)。
自己用java实现苹果的apns推送,调用压缩包的text文件里面的方法即可
苹果APNS推送,C#实现通过APNS向客户手机推送消息,Apple Push Notification Service
Java APNS推送消息 HTTP/2协议, 基于JDK 11及以上
java依赖+整合代码工具类示例
阿里封装的APNS推送工具包 可以使用ios客户端的APNS推送功能
APNs的推送的Demo,适配iOS8.0+。
java实现苹果推送 里面有两个方法实现推送
苹果最新技术apns推送!!C#代码!和数据库 VS2008+sql2008
该项目是.net下的一个APNS推送,服务器到APNS端的一个示例。
APNS消息推送服务端, 运行系统mac os 连结服务器,为gateway.sandbox.push.apple.com
java apns推送示例,基于http/2亲测有效
apns.jar包,用于apns推送,直接导入就可以使用了
苹果推送项目源码,运行即用 语言:JAVA,开发IDE:eclipse 数据库:MYSQL 运行即用,附带API调用文档 超级硬通货,想不使用第三方苹果消息推送的千万不要错过
iOS苹果推送apns测试工具
Windows环境下,测试IOS离线推送的工具,解压目录后,执行 IOSPush.Toolkit.exe即可,选择对应的证书地址、证书密钥、deviceToken即可测试,后台后推送消息结果显示。
APNS推送php推送服务器代码 iOS
APNS史上最容易的消息推送android
ios APNS推送服务器php核心代码pushMe