0

我正在使用以下方法将图像和 URL 共享到用户的 Facebook 墙。问题是因为我在帖子中添加了一张图片,它最终被保存在 Facebook 相册中。也许这是默认行为,尽管我发誓它只是在墙上张贴一张照片而不是相册。

谢谢你的帮助

- (IBAction)shareAction:(id)sender {
    SLComposeViewController * fbController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
    [fbController setInitialText:@"App Name"];

     NSIndexPath* indexPath = [tableView indexPathForCell:sideSwipeCell];
  //  NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
    // output id of selected deal
#ifdef DEBUG
    NSLog(@"deal id for selected row is %@", [[displayItems objectAtIndex:indexPath.row] objectForKey:@"id"]);
#endif
    // display the youdeal deal image
    link = [[displayItems objectAtIndex:indexPath.row] objectForKey:@"link"];

    // download the youdeal deal image for FB posting

    NSURL *url = [NSURL URLWithString:[[displayItems objectAtIndex:indexPath.row] objectForKey:@"image"]];
    NSLog(@"url to image share %@", url);

    NSData *data = [[NSData alloc] initWithContentsOfURL:url];

    NSLog(@"data to image share %@", data);

    UIImage *tmpImage = [[UIImage alloc] initWithData:data];

    NSLog(@"tmpImage to image share %@", tmpImage);

    ydImage = tmpImage;

    NSLog(@"ydimageview.image %@", ydImage);

  //  [NSThread detachNewThreadSelector:@selector(downloadAndLoadImage) toTarget:self withObject:nil];

    [fbController setInitialText:@"Check out this link."];
    [fbController addURL:[NSURL URLWithString:link]];
    [fbController addImage:ydImage];

    SLComposeViewControllerCompletionHandler __block completionHandler=^(SLComposeViewControllerResult result){
        [fbController dismissViewControllerAnimated:YES completion:nil];

        switch(result){
            case SLComposeViewControllerResultCancelled:
            default:
            {
#ifdef DEBUG

                NSLog(@"User Cancelled.");
#endif
                [self removeSideSwipeView:YES];
            }
                break;
            case SLComposeViewControllerResultDone:
            {
#ifdef DEBUG
                NSLog(@"Posted");
#endif
                [self removeSideSwipeView:YES];

                CustomAlertView *fbAlert = [[CustomAlertView alloc] initWithTitle:@"App Name" message:@"Facebook Post Successful!" delegate:nil cancelButtonTitle:@"Okay" otherButtonTitles:nil, nil];

                [fbAlert show];
            }
                break;
        }};

    [fbController setCompletionHandler:completionHandler];
    [self presentViewController:fbController animated:YES completion:nil];
}
4

1 回答 1

0

看起来它可能是一个 FB 错误。有时他们保存到相册有时无法使用 SLComposeViewController 将图像发布到 facebook?

于 2013-03-05T11:51:04.287 回答