IOS推送功能的实现
//iPhone 从APNs服务器获取deviceToken后回调此方法 - (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { NSString* dt = [[deviceToken description] stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]]; NSLog(@"deviceToken:%@", dt); } //注册push功能失败 后 返回错误信息,执行相应的处理 - (void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)err { NSLog(@"Push Register Error:%@", err.description); } |
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { ... NSDictionary* payload = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; if (payload) { ... } ... } |
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)payload { NSLog(@"remote notification: %@",[payload description]); NSString* alertStr = nil; NSDictionary *apsInfo = [payload objectForKey:@"aps"]; NSObject *alert = [apsInfo objectForKey:@"alert"]; if ([alert isKindOfClass:[NSString class]]) { alertStr = (NSString*)alert; } else if ([alert isKindOfClass:[NSDictionary class]]) { NSDictionary* alertDict = (NSDictionary*)alert; alertStr = [alertDict objectForKey:@"body"]; } application.applicationIconBadgeNumber = [[apsInfo objectForKey:@"badge"] integerValue]; if ([application applicationState] == UIApplicationStateActive && alertStr != nil) { UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:@"Pushed Message" message:alertStr delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alertView show]; } } |
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Android单元测试方法与步骤
一、修改配置文件AndroidManifest.xml <? xml version="1.0" encoding="utf-8" ?> < manifest xmlns:android ="http://schemas.android.com/apk/res/android" package ="cn.ycmoon.test.activity" android:versionCode ="1" android:versionName ="1.0" > < uses-sdk android:minSdkVersion ="8" /> < application android:icon ="@drawable/icon" android:label ="@string/app_name" > < uses-library android:name ="android.test.runner" /> < activity android:name =".MainActivity" android:label ="@st...
- 下一篇
Ionic 2版本进行了性能提升并提供新的本地插件系统
Ionic团队发布了其2.0版本的JavaScript框架,新版本中提供了新的组件、功能和工具,包括新的本地插件系统。 在宣布Ionic 2.0.0最终版发布的博客文章中,Ionic联合创始人Max Lynch介绍了Ionic团队与Angular团队紧密合作,在Angular 2之上“构建下一代Ionic框架”。虽然Lynch称这是一场苦战,但开发团队的这个决定的确很正确,Ionic应用程序大大受益于更快的Angular 2,使Ionic应用程序“固有的性能提升立竿见影”。 Ionic 2.0版本中最重要的改进之一是内置其中的错误处理和调试功能。 Ionic 2的首个RC版本中有新的构建工具链,称为App Scripts,用于构建、测试并运行应用程序。在最终版本中,应用程序中构建了新的错误处理和调试功能。Lynch说: 当开发中引入编译错误时,使用ionic serve命令,错误的详细信息将直接显示在你的浏览器窗口中。这个功能对于帮助追踪代码非常实用,并可以帮助你专注于开发,而不用来回切换到终端。 有关性能改进,Ionic 2.0现在以60FPS在Android和iOS平台上滚动,取代...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果