2

我能够通过几天前开发的 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。

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

4

1 回答 1

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];

    }

    }
于 2012-09-30T07:33:45.567 回答