如何使用Facebook iOS SDK在照片中标记用户?

问题描述:

我似乎无法解决如何在Facebook照片上传中标记用户。如何使用Facebook iOS SDK在照片中标记用户?

的文件似乎表明您使用数组,但下面的代码不正确解析(会导致应用程序崩溃)

- (void)uploadImage:(UIImage *)img 
      withTags:(NSArray *)tags 
{ 
    NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
            @"msgstring", @"message", 
            img, @"picture", 
            nil]; 
    if (tags) { 
     [params setObject:tags 
        forKey:@"tags"]; 
    } 

    self.requestType = FBAssistantRequestImageUpload; 

    [self.facebook requestWithGraphPath:@"me/photos" 
           andParams:params 
          andHttpMethod:@"POST" 
          andDelegate:self]; 
} 

它工作正常,没有标签。此刻的数组包含一个带有我希望标记的朋友的标识符的字符串。

我假设我错误地添加了标签。我希望避免使用这里列出的三步法:Tag Friends in Facebook Photo Upload,因为我认为需要照片许可,只需发布​​照片不需要。

这里是我用来在照片上标记好友的代码:

NSMutableArray *tags = [[NSMutableArray alloc] init]; 
NSString *tag = nil; 
     if(self.selectedFriends != nil){ 
      for (NSDictionary *user in self.selectedFriends) { 
       tag = [[NSString alloc] initWithFormat:@"{\"tag_uid\":\"%@\"}",[user objectForKey:@"id"] ]; 
       [tags addObject:tag]; 
      } 
      NSString *friendIdsSeparation=[tags componentsJoinedByString:@","]; 
      NSString *friendIds = [[NSString alloc] initWithFormat:@"[%@]",friendIdsSeparation ]; 
    [params setObject:friendIds forKey:@"tags"]; 
    }