关于App远程推送和启动

iOS App启动时候    

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

//对应的对象为启动URL(NSURL)

NSURL *url = [launchOptions objectForKey:UIApplicationLaunchOptionsURLKey];

//对应启动的源应用程序的bundle ID (NSString)

 NSString *bundleId = [launchOptions objectForKey:UIApplicationLaunchOptionsSourceApplicationKey];

//由本地通知启动

UILocalNotification * localNotify = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];

//由远程通知启动

 NSDictionary * userInfo = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];



App远程推送


扩展UIApplication+Addition.h

//是否注册

+ (BOOL)isPushRegistered

{

    UIApplication *application = [UIApplication sharedApplication];

    if ([application respondsToSelector:@selector(isRegisteredForRemoteNotifications)])

    {

        return [application isRegisteredForRemoteNotifications];

    }

    else

    {

        return application.enabledRemoteNotificationTypes != UIRemoteNotificationTypeNone;

    }

}


//注册push

+ (void)registerPush

{

    UIApplication *application = [UIApplication sharedApplication];

    

    //-- Set Notification

    if ([application respondsToSelector:@selector(isRegisteredForRemoteNotifications)])

    {

        // iOS 8 Notifications

        [application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]];

        

        [application registerForRemoteNotifications];

    }

    else

    {

        // iOS < 8 Notifications

        [application registerForRemoteNotificationTypes:

         (UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge |

          UIRemoteNotificationTypeSound)];

    }

}


-> 苹果远程服务器

 在AppDelegate

->注册成功

- (void)application:(UIApplication *)applicationdidRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken

返回一个deviceToken,

将token返回给自己服务器或第三方服务器,提交PUSH证书和密码

自己服务器或第三方服务器将要推送的内容传给苹果服务器,苹果服务器推送到手机App上。

->接受到远程推送来的消息

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary*)userInfo

->注册失败

-(void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值