오로라 setTags: xxx 메서드는 콜백/SEL을 실행하지 않습니다.

1733 단어
4
  • 집적극광 전송을 할 때 컨트롤러가 아래와 같은 코드를 인쇄하면 당신의 극광 집적에 성공했다는 것을 의미합니다
  • 2017-04-27 11:30:26.577 | JIGUANG | I - [JIGUANGSessionController] connecting with coreAddr 103.229.215.19,port 7005
    2017-04-27 11:30:26.947 | JIGUANG | I - [JIGUANGLogin] 
    ----- login result -----
    uid:9223034352 
    registrationID:171976fa8ab02c3f9eb
    

    4
  • 극광 집적에 성공한 전제에서 만약에 극광 컨트롤러에서 방송(모두)을 보내는 데 성공할 수 있음을 발견하면tags/alias를 지정하여 전송하는 데 실패하고 setTags:xxx 방법은 SEL을 리셋하지 않거나 실행하지 않습니다.
    4
  • 원인: 그러면 이 문제가 발생한 원인은 극광이 아직 시작되지 않았습니다. setTags:xxx 방법을 사용하십시오.


  • 4
  • 해결 방법: dispatch 사용after 함수, 5초 후에 setTags:xxx 방법을 실행하면 됩니다.(실례 코드는 아래와 같다)
  • dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
            
        NSString *userId = [NSObject getCurrentUserId];
        NSLog(@"userId = %@", userId);
        
        if ([userId isEqualToString:@""] || userId == nil) return;
        
        NSMutableSet *tags = [NSMutableSet set];
        
        if ([userId isEqualToString:@""] || userId == nil) return;
        
        [self setTags:&tags addTag:userId];
        
        NSString *alias = userId;
        
        //[JPUSHService setTags:tags alias:alias callbackSelector:@selector(tagsAliasCallback:tags:alias:) target:self];
        
        [JPUSHService setTags:(NSSet *)tags alias:(NSString *)alias fetchCompletionHandle:^(int iResCode, NSSet *iTags, NSString *iAlias) {
            
            if (iResCode == 0) {
                NSLog(@"    ");
            }else {
                NSLog(@"    ");
            }
            
            NSLog(@"rescode: %d, 
    tags: %@,
    alias: %@
    ", iResCode, tags , alias); }]; });

    좋은 웹페이지 즐겨찾기