iOS Facebook SDK 3.1 的设置按钮不起作用

Posted

技术标签:

【中文标题】iOS Facebook SDK 3.1 的设置按钮不起作用【英文标题】:Settings button of iOS Facebook SDK 3.1 not working 【发布时间】:2012-09-28 16:29:48 【问题描述】:

我已经完成了这里解释的所有步骤:https://developers.facebook.com/docs/getting-started/facebook-sdk-for-ios/3.1/

我已经测试了演示项目,但与我的项目一样失败。 (您可以在 HelloFacebookSample 项目上进行测试)。

当您没有配置任何 Facebook 帐户时,您无法在 facebook 上分享内容,或上传图片等(与 twitter 框架相同)。因此,框架会向您显示一条消息,告诉您:

没有配置 Facebook 帐户。您可以在“设置”中添加或创建 Facebook 帐户。

您单击设置,但唯一发生的事情是该对话框被隐藏,但框架没有打开“设置”选项卡(例如在 twitter 框架上的工作)。

有人知道如何解决这个问题吗?

提前致谢。

【问题讨论】:

我有同样的错误。我发现的唯一一件事是这个错误只在模拟器上。不过,我现在没有 iOS 6 设备,所以我无法测试它是否属实。 【参考方案1】:

请使用SLComposeViewController类进行Facebook分享,设置按钮为你工作。

if([SLComposeViewController class])

    SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
    [controller setInitialText:text];
    [controller addURL:[NSURL URLWithString:encod]];
    [self presentViewController:controller animated:YES completion:Nil];
    //[message release];

    SLComposeViewControllerCompletionHandler myBlock = ^(SLComposeViewControllerResult result)
    
        NSString *output= nil;
        switch (result)
        
            case SLComposeViewControllerResultCancelled:
                output= @"Action Cancelled";
                break;
            case SLComposeViewControllerResultDone:
                output= @"Post Succesfull";
                [self displayText:@"done"];
                break;
            default:
                break;
        

     ;
    controller.completionHandler =myBlock;

这段代码对我有用

【讨论】:

【参考方案2】:

你为什么不使用 UIActivityViewController ? iOS 6 对 UIActivityViewController 的支持最好

UIActivityViewController *ActivityView = [[UIActivityViewController alloc] initWithActivityItems:Items applicationActivities:nil];

Facebook、Twitter 和短信服务的最佳集成

【讨论】:

以上是关于iOS Facebook SDK 3.1 的设置按钮不起作用的主要内容,如果未能解决你的问题,请参考以下文章