2

我想用 social.framework 在 Facebook 上分享按钮。我做这个:

    #import <UIKit/UIKit.h>

    #import <Social/Social.h>

    @interface SocialSharingViewController : UIViewController

    - (IBAction)postToFacebook:(id)sender;

    @end

然后我添加 m。文件:

- (IBAction)postToFacebook:(id)sender {
    if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
            SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];

        [controller setInitialText:@"First post from my iPhone app"];
        [self presentViewController:controller animated:YES completion:Nil];        
    }
}

它在模拟器中完美运行,但是当我在我的 iPhone 5 设备上测试它时它不起作用。当我单击按钮 postToFacebook 时,没有任何反应。

请帮帮我

4

1 回答 1

2

可能的错误是您的 iphone 5 没有配置任何 fb 帐户。[SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]在这种情况下将返回 NO

根据 SLComposeViewController 的文档,isAvailableForServiceType “返回一个布尔值,指示该服务是否可访问并且至少设置了一个帐户...要使该帐户可用,用户必须登录到设备中的社交服务设置。”

注意:每当您添加 if 条件时,也要使用 else 条件。#编码标准

于 2013-02-26T08:37:38.227 回答