在參考了極光推送的文檔之后,對個推(單個推送)有設置別名的方法,方法如下
[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秒,通過這樣操作之后,我們就能很好的獲取回調,設置別名了
