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转到了指定的文件。
相关推荐
1. 实时推送:EAMS采用高效的网络协议,确保消息实时到达用户设备。 2. 广播与定向推送:支持向单个设备、用户群组或所有设备发送消息。 3. 消息跟踪:提供推送状态报告,便于分析推送效果和优化策略。 4. 安全性:...
Java消息推送给iPhone涉及到的是iOS应用开发中的远程通知服务,主要使用Apple的Push Notification Service (APNs)。在iOS设备上,当应用不在前台运行时,开发者可以通过APNs向设备发送消息,提醒用户有新的信息或者...
- **配置与开发流程**:为了确保推送通知的成功实现,开发者需要遵循一系列的步骤,包括创建SSL证书和密钥、安装配置文件、在服务器端配置推送服务等。 - **与APNs交互**:开发者服务器与APNs之间的通信需要遵循...
JPush-iOS-SDK是极光推送提供的iOS平台SDK,它为开发者提供了集成APNs推送服务的便利。极光推送是中国的一个第三方推送服务提供商,其SDK简化了与APNs交互的流程,提供了丰富的推送功能,如自定义通知样式、消息送达...
总的来说,这个项目提供了实现Android平台APN消息推送服务的完整流程,涵盖了服务器开发、客户端实现和示例应用的展示。对于想要学习即时通讯技术或者搭建类似服务的开发者来说,这是一个很好的学习资源。通过深入...
4. **APNs处理**:APNs接收到推送请求后,会验证请求的有效性,并将通知推送到目标设备。如果设备处于离线状态,APNs会保留该通知并在设备上线时尝试重新推送。 5. **客户端响应**:设备收到推送通知后,会根据应用...
4. **APNS分发消息**:APNS接收到消息后,会在其注册的设备列表中找到对应的device token,将消息推送到对应的iOS设备。 5. **设备接收与显示**:一旦消息到达设备,操作系统会将通知传递给相应的应用,并根据应用...
总的来说,"PushMeNotifyDemo"提供了一个全面测试和验证APNs推送服务的环境,无论是对开发者还是对希望理解推送服务工作原理的人来说,都是一个宝贵的资源。通过深入研究和运行这个项目,可以加深对APNs以及跨平台推...
推送流程包括认证、创建通知、发送到APNS、最后由APNS转发到设备。 Android平台则相对灵活,可以选择Google的C2DM(已弃用)、GCM(Google Cloud Messaging,已整合到FCM:Firebase Cloud Messaging)、自研方案或...
3. **苹果推送通知服务(APNs)**作为推送通知的核心组件,起到了网关的作用,负责将远程服务器上的通知信息传递给用户的设备。 4. **获取推送通知授权**:由于涉及到隐私问题,应用必须在用户的许可下才能接收推送...
4. 错误处理与重试机制:当推送过程中遇到错误,PushSharp会自动进行错误处理并尝试重新发送,确保消息能够准确到达目标设备。 二、PushSharp的工作流程 1. 初始化:首先,开发者需要设置PushBroker实例,为不同的...
3. **邮件推送**:当有新邮件到达时,服务器通过推送服务(如APNs for iOS 或 FCM for Android)将消息推送到用户的移动设备。 4. **邮件显示**:用户设备接收到推送通知后,游戏应用自动更新邮件列表,展示新邮件。...
8. **通知服务扩展**:在Mac上,你可以通过Notification Service Extension来增强推送通知的功能,比如在通知到达时实时处理内容,添加自定义图像等。 9. **用户权限管理**:考虑到用户隐私,应用必须请求用户的...
为了确保用户及时看到新消息,聊天应用可能采用推送通知服务,如Firebase Cloud Messaging(FCM)或Apple Push Notification service(APNs),即使用户不在应用内,也能接收到新消息提醒。 10. **实时性与消息...
这需要集成推送服务,如Google Firebase Cloud Messaging (FCM) 或Apple的Push Notification Service (APNs)。 10. **持续更新与维护**:随着城市交通状况的变化,公交线路和站点信息会不断更新,软件开发者需要...
- Push邮件系统通常基于HTTP或更高级的协议,如Exchange ActiveSync或Apple的Push Notification Service(APNS),当新邮件到达时,服务器会主动将邮件推送到用户的设备。 - 这种方式提高了实时性和用户体验,因为...
8. **推送通知**:QQ的实时性要求它能快速响应新消息,这可能涉及到服务器向客户端推送通知的技术,如APNS(Apple Push Notification Service)或自建推送服务。 9. **P2P技术**:为了提高效率,QQ可能会使用P2P...