如何在不将图像保存到相册的情况下发布到我的Facebook墙上

时间:2013-03-05 11:29:59

标签: ios objective-c facebook slcomposeviewcontroller

我正在使用以下方法将图像和网址共享到用户的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];
}

1 个答案:

答案 0 :(得分:0)

看起来它可能是一个FB错误。有时他们保存到专辑有时不是Unable to post image into facebook using SLComposeViewController?