iOS Facebook API不会像Tweeter那样调出iPhone设置

时间:2012-10-19 18:45:10

标签: facebook ios6

我正在使用DEFacebookComposeViewController在Facebook上发布消息。当使用iOS5时,用户被重定向到Facebook页面进行登录,然后返回到应用程序,这很好用。但是,在iOS6中,Service API显示一个UIAlertView,显示选项“Settings”或“Cancel”

enter image description here

问题是机器人按钮具有相同的效果。两者都取消了对话框(它也发生在'FacebookSample'here)中。

另一方面,Tweeter框架在iOS 5和6中都很好。如果没有配置tweeter帐户并且“设置”按钮将您带到“添加帐户”屏幕,则会出现警报。

欢迎所有想法。

由于

PD:所有测试模拟器中的位置。

编辑:

这是我正在使用的代码:

DEFacebookComposeViewController *facebookComposer = [[DEFacebookComposeViewController alloc] init];
            [facebookComposer setInitialText:@"Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test"];

            __block id weakSelf = self;
            [facebookComposer setCompletionHandler:^(DEFacebookComposeViewControllerResult result) {
                [weakSelf dismissModalViewControllerAnimated:YES];
            }];

            [self presentModalViewController:facebookComposer animated:YES];
            [facebookComposer release];

这是DEFacebookComposeViewController类中的重要部分;

- (id)init
{
    if ([[UIDevice currentDevice].systemVersion floatValue] >= 6) {
        self = [(DEFacebookComposeViewController*)[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook] retain];
        return self;
    }

    self = [super init];
    if (self) {
        [self facebookComposeViewControllerInit];
    }
    return self;
}

有。如果iOS版本为6,则init方法返回[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook],这是与facebook交互的vanilla iOS6方式。

1 个答案:

答案 0 :(得分:1)

如何使用Apple在iOS 6上正式提供的社交框架,特别是在iOS 6上?

X:

SLComposeViewController
 *viewController
  = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];


[self presentViewController:viewController animated:YES completion:nil];