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条评论来说两句吧...