2014-02-06 55 views
2

我使用的是贴在我前面的问题的代码片段,Simple way to add Facebook/Twitter share to app?SLComposeViewController“脸谱不可用”

if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) { 
    SLComposeViewController *slComposeViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; 

    [slComposeViewController setInitialText:@"Your text"]; 
    [slComposeViewController addImage:[UIImage imageNamed:@"NameOfImage"]]; 
    [self presentViewController:slComposeViewController animated:YES completion:nil]; 
} else { 
    //Show alert or in some way handle the fact that the device does not support this //feature 
    NSLog(@"Facebook not available"); 
} 

但是,当我在设备上运行它,并在模拟器中所有我得到的是“Facebook不可用”,我可能做错了什么?

我已经看过可用的教程,我已经包含了所需的库,所以我不知道我在做什么错了。

+1

如果FaceBook的账户没有在Setting.app中设置,那就是noral。 – Larme

+0

那么注册Facebook/Twitter的人没有问题吗?只有当你没有设置这些服务时,它才会说它不可用? – Phil

+0

SLComposerViewController允许用户在FaceBook上发布消息。但是,你怎么知道要使用哪个帐户?请记住,要使用FaceBook,您必须创建一个帐户或登录。 Apple从iOS6开始引入了来自Settings.app的登录,这里是您的问题的关键。如果用户未登录,则不会发布FaceBook。 – Larme

回答

2

Settings.app/Facebook,您需要设置一个帐户。 SLComposeViewController只允许你在FaceBook上发帖,如果你有一个帐户。这是正常的行为,这就是FaceBook的工作原理:没有帐号,那里没有任何事情要做。
自iOS6开始,您可以在iOS中输入您的帐户,从而允许应用程序在一些iOS框架中使用此帐户,而无需导入Facebook SDK。当然,你可以选择Social.framework,如果你想做更多的事情,比如时间线等,你必须使用FaceBook SDK。