[急] 用户注销登录后必须将app杀死才能收到推送
APP安装完 第一次登录 通过标签可以收到推送,然后注销之后再登录同一个账号(或者其他账号)就收不到推送了
APP第一次运行: cityid是用户选择的
JPUSHService.setTags([String(city.id)], alias: String(NSUserDefaults.standardUserDefaults().objectForKey(UserAlias))) { (code , tagg , alins ) in
print(code, tagg, alins)
}
log :[JPUSHService] app not registed, give up set tag:{( 53 )} alias:nil
这时候通过tag能收到推送
然后登录代码:
//UserAlias 参数是宏定义 保存alias
[[NSUserDefaults standardUserDefaults] setObject:response.id forKey:UserAlias];
NSString *cityId = [[NSUserDefaults standardUserDefaults]objectForKey:DEFAULTCITYID];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0f * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[JPUSHService setTags:[NSSet setWithObject:cityId] alias:response.id fetchCompletionHandle:^(int iResCode, NSSet *iTags, NSString *iAlias) {
DLog(@"rescode: %d, \ntags: %@, \nalias: %@\n", iResCode, iTags , iAlias);
}];
});
log : JPUSH | E - [JPUSHService] app not registed, give up set tag:{(
53
)} alias:e8156c46124
现在通过alias的方式 也可以收到推送
然后注销登录
1.不做任何覆盖别名之类的操作,再通过标签或者别名的方式推送,就收不到推送
NSString *cityId = [[NSUserDefaults standardUserDefaults]objectForKey:DEFAULTCITYID]; [JPUSHService setTags:[NSSet setWithObject:cityId] alias:@"" fetchCompletionHandle:^(int iResCode, NSSet *iTags, NSString *iAlias) { DLog(@"rescode: %d, \ntags: %@, \nalias: %@\n", iResCode, iTags , iAlias); }];
log: rescode: 0,
tags: {(
53
)},
alias:
```
也是收不到推送
但是把app杀死 再次运行才能收的到推送
真机环境 iOS8 iOS10 都是这种状况