JPush设置别名不走成功回调的解决办法

     在参考了极光推送的文档之后,对个推(单个推送)有设置别名的方法,方法如下

   [JPUSHService setTags:tags alias:alias fetchCompletionHandle:^(int iResCode, NSSet *iTags, NSString *iAlias) {
                NSLog(@"%d----%@---",iResCode,iAlias);
                
            }];

    可是当我们按照极光的DEMO正确配置之后确发现怎么也不走回调方法,此时控制台打印的是

2016-05-18 17:36:31.045 | JPUSH | E - [JPUSHService] app not registed, give up set tag:(null) alias:86

通过打印信息我们可以看到此时JpushService由于网络的原因可能没有很快的注册成功(在我们公司是这样的,网速非常慢),这里我的解决办法是在主线程延迟调用设置别名的方法,调用如下

        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0f * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
            [JPUSHService setTags:tags alias:alias fetchCompletionHandle:^(int iResCode, NSSet *iTags, NSString *iAlias) {
                NSLog(@"%d----%@---",iResCode,iAlias);
                
            }];
        });

这里我设置的延时为1秒,通过这样操作之后,我们就能很好的获取回调,设置别名了

posted @ 2016-05-18 17:43  陈taotao  阅读(11159)  评论(0编辑  收藏  举报