为什么突然我的iOS应用程序无法将状态更新发布到Facebook

时间:2012-09-22 05:08:55

标签: ios facebook post status

我能够通过几天前开发的iOS应用程序向Facebook用户墙发布状态更新。然后我可能不小心删除了一些东西,我现在无法发布并收到错误消息。相关代码是A:

    message = @"test";
    [FBRequestConnection startForPostStatusUpdate:message
    completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
    }

我也尝试了以下方法B:

    [FBRequestConnection startWithGraphPath:@"me/feed" parameters:postParams HTTPMethod:@"POST" completionHandler:^(FBRequestConnection *connection,id result,NSError *error)

我得到了同样的错误信息:操作无法完成。 (com.facebook.sdk错误5。)“

我也注意到,如果我使用FacebookSDK.h或Facebook.h进行任何一种方法都没关系,两种方法(四种方式)都会得到相同的错误信息。我也想知道为什么FacebookSDK.h足以支持上面两种方法,为什么教程建议弃用Facebook.h。

有趣的是,我去检查另一个测试iOS应用程序,我记得可以发布Facebook状态更新,并发现它也无法发布。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我决定使用iOS6功能SLComposeViewController,这使得发布Facebook状态更新变得轻而易举。

在.m文件中添加社交框架后,您可以这样做:

    - (IBAction)clickMe:(UIButton *)sender {
         NSLog(@"you clicked me");
         if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {

       SLComposeViewController* myFB = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];


          SLComposeViewControllerCompletionHandler myBlock = ^(SLComposeViewControllerResult result) {
            if (result == SLComposeViewControllerResultCancelled) {
                NSLog(@"cancelled");
           } else {
               NSLog(@"oh yeah");
           }
        [myFB dismissViewControllerAnimated:YES completion:nil];
    };
    myFB.completionHandler = myBlock;
    [myFB setInitialText:@"Posting from my app."];
    [self presentViewController:myFB animated:YES completion:nil];

    }

    }