通知,推送

发送通知时,如果在使用直接在应用种显示。如果在后台,显示在通知列表中。
百度推送有个定时的推送

 ios本地通知和远程通知

iOS10&Xcode8 推送证书问题

记录对iOS10的适配工作ʕ •ᴥ•ʔ

Gateway.push.apple.com为什么无法连接?

 

应该是你证书的问题,你运行pushmebaby的时候有弹出对话框让你选择使用证书吗?还有你的keychain中 Apple Production Push Services.cer下面有密钥吗?都有的话你的程序是可以建立连接的。
还有result = SSLSetPeerDomainName(context, "gateway.push.apple.com", 30);
应该改成 result = SSLSetPeerDomainName(context, "gateway.push.apple.com", 22);  22指的是前面字符串的length

 

 如果能建立连接,应该可以发出去,检查你的device token是否是最新获取的,debug version 和 production version 获取的device token好像是不一样的。
发前两次可以,第三次就crash掉,我也遇到过,不知道是什么原因。不过这个不影响测试。 

 

  

iOS开发——小技巧:Mac开源小软件PushMeBaby,还要啥后端,测试APP推送只靠Xcode!good

iOS 推送证书的配置 从cer证书到pem文件

iOS10之玩转推送通知

http://www.jianshu.com/p/ff14939b6639

LocalNotification

 

iOS开发之远程推送Push  good

http://www.cnblogs.com/dongwenbo/p/4288165.html

PushMeBaby 测试推送

 

iOS开发系列--通知与消息机制 good

UserNotificationDemo  github

 

推送通知iOS客户端编写实现及推送服务器端编写 关东升 good

  1. //产品发布APNS服务器,gateway.push.apple.com  
  2. //测试APNS服务器,gateway.sandbox.push.apple.com  

 

国内90%以上的 iOS 开发者,对 APNs 的认识都是错的

iOS集成极光推送,绕过一些坑

 iOS 玩转推送通知

一步一步教你做ios推送

IOS推送之PHP代码

$fp = stream_socket_client(
    'ssl://gateway.sandbox.push.apple.com:2195', $err,
    $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);

 iOS开发之进阶指南(博文目录)持续更新

iOS开发之远程推送Push

 pushmebaby测试

DeviceToken处理流程

 

本地推送时,iOS8提示 haven't received permission from the user to badge the

原因是因为在ios8中,设置应用的application badge value需要得到用户的许可。使用如下方法咨询用户是否许可应用设置application badge value

UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];

在这之前要判断系统是否为iOS8的系统,否则8之前的系统会报错。

iOS开发系列--通知与消息机制

摘录:

创建一个本地通知通常分为以下几个步骤:

  1. 创建UILocalNotification。
  2. 设置处理通知的时间fireDate。
  3. 配置通知的内容:通知主体、通知声音、图标数字等。
  4. 配置通知传递的自定义数据参数userInfo(这一步可选)。
  5. 调用通知,可以使用scheduleLocalNotification:按计划调度一个通知,也可以使用presentLocalNotificationNow立即调用通知。

 

和本地通知不同,推送通知是由应用服务提供商发起的,通过苹果的APNs(Apple Push Notification Server)发送到应用客户端。下面是苹果官方关于推送通知的过程示意图:

PushNotification_FlowChart

推送通知的过程可以分为以下几步:

  1. 应用服务提供商从服务器端把要发送的消息和设备令牌(device token)发送给苹果的消息推送服务器APNs。
  2. APNs根据设备令牌在已注册的设备(iPhone、iPad、iTouch、mac等)查找对应的设备,将消息发送给相应的设备。
  3. 客户端设备接将接收到的消息传递给相应的应用程序,应用程序根据用户设置弹出通知消息。

当然,这只是一个简单的流程,有了这个流程我们还无从下手编写程序,将上面的流程细化可以得到如下流程图(图片来自互联网),在这个过程中会也会提到如何在程序中完成这些步骤:

PushNotification_FlowChartDetail

 

posted @ 2014-10-07 17:10  米粥米  阅读(207)  评论(0编辑  收藏  举报