ios8远程推送
2014-10-23 10:03
309 查看
ios8升级之后,推送通知的注册方式也发生了一些变化。不进行修改会发生iphone6 或者 plus 无法收到通知的问题。
一.初始化
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//消息推送注册
#ifndef CURRENT_VERSION_IOS8
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeSound|UIRemoteNotificationTypeAlert|UIRemoteNotificationTypeBadge];
#else
if ([[UIApplication sharedApplication] respondsToSelector:@selector(registerUserNotificationSettings:)]) {
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge|UIUserNotificationTypeSound|UIUserNotificationTypeAlert categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];
} else {
UIRemoteNotificationType myTypes = UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound;
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:myTypes];
}
#endif
}
二.推送的一些后续方法
1、- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings
{
[application registerForRemoteNotifications];
}
2、
//自定义通知
-(void)application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo completionHandler:(void (^)())completionHandler{
if ([identifier isEqualToString:@"customAction1"]) {
}
else if ([identifier isEqualToString:@"customAction2"]){
}
}
3、收到通知信息之后的操作
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
//在此处理接收到的消息。
}
4、接收通知失败后
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {
NSString *error_str = [NSString stringWithFormat: @"%@", error];
NSLog(@"Failed to get token, error:%@", error_str);
}
一.初始化
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//消息推送注册
#ifndef CURRENT_VERSION_IOS8
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeSound|UIRemoteNotificationTypeAlert|UIRemoteNotificationTypeBadge];
#else
if ([[UIApplication sharedApplication] respondsToSelector:@selector(registerUserNotificationSettings:)]) {
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge|UIUserNotificationTypeSound|UIUserNotificationTypeAlert categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];
} else {
UIRemoteNotificationType myTypes = UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound;
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:myTypes];
}
#endif
}
二.推送的一些后续方法
1、- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings
{
[application registerForRemoteNotifications];
}
2、
//自定义通知
-(void)application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo completionHandler:(void (^)())completionHandler{
if ([identifier isEqualToString:@"customAction1"]) {
}
else if ([identifier isEqualToString:@"customAction2"]){
}
}
3、收到通知信息之后的操作
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
//在此处理接收到的消息。
}
4、接收通知失败后
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {
NSString *error_str = [NSString stringWithFormat: @"%@", error];
NSLog(@"Failed to get token, error:%@", error_str);
}
相关文章推荐
- iOS8 远程推送/用户推送/本地推送/地理位置推送
- ios8以上远程推送 demo
- ios8 远程推送的注册代码
- IOS8下的远程推送(转载)
- iOS8之后的远程推送注册代码
- ios8下的远程推送通知
- 适配 iOS8 时遇到的问题-远程推送
- iOS8下的远程推送
- ios (推送之远程推送)升级成ios8系统之后有些程序接收不到远程推送
- iOS8远程推送
- 在iOS8之后的远程推送写法
- iOS8 兼容 请求开启远程推送代码
- iOS8 兼容 请求开启远程推送代码
- iOS8下的远程推送
- iOS8下的远程推送
- 远程推送
- ios8 中过期的一些方法 通讯录 推送
- TortoiseGit- 创建本地新分支,提交推送到远程,本地新分支合并到工作分支,提交到远程工作分支等。
- ios8 推送
- SourceTree推送时,增加额外的远程仓库,不用每次都自定义粘贴复制网络