iOS 6社交框架无法进行设置或无法提醒

jam*_*rns 14 facebook ios6 social-framework

我正在尝试在iOS6中实现新的社交框架,并让它工作,除了2个奇怪的问题.如果我启用了我感兴趣的服务(例如...... FaceBook),那么它可以正常工作.但是,如果从设置面板中删除帐户(让我们说FaceBook,为了保持一致),那么我会在模拟器和设备中获得不同的,令人沮丧的行为.

这是我的视图控制器中的相关代码:

//Method for FaceBook

- (IBAction)doFacebook:(id)sender{
//check to see if facebook account exists
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {

    // Create the view controller defined in the .h file

    fb=[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];

    // make the default string
    NSString *FBString= [NSString
                         stringWithFormat:@"%@\r via #GibberishGenerator", gibText.text];
    [fb setInitialText:FBString];
    // show the controller
    [self presentViewController:fb animated:YES completion:nil];

    }
}
Run Code Online (Sandbox Code Playgroud)

在解雇上述方法时,这是一种奇怪的行为:

模拟器(版本6.0(358.4)中,我得到对话框通知我没有使用"设置"和"取消"按钮设置任何faceBook帐户.点击"设置"只是取消对话框,但不带我到设置面板.

运行6.01的iPhone 4s上,点击触发该方法的按钮会导致......什么都没有.换句话说,我没有通知对话通知我必须设置一个FaceBook帐户.

在此先感谢您的帮助.


好的......这是修复:

这是我的新实现,基于user1734802的有用评论.

//Method for FaceBook

- (IBAction)doFacebook:(id)sender{

    // Create the view controller defined in the .h file

    fb=[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];

    // make the default string
    NSString *FBString= [NSString
                         stringWithFormat:@"%@\r via #GibberishGenerator", gibText.text];
    [fb setInitialText:FBString];
    // show the controller
    [self presentViewController:fb animated:YES completion:nil];

      }
Run Code Online (Sandbox Code Playgroud)

在某些时候,我期待

 [SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
Run Code Online (Sandbox Code Playgroud)

实际上工作正常(触发自动对话框,并带你到设置),所以我实际上只是在我的代码中注释掉它.

Pet*_*ter 28

我有同样的问题,我通过删除If语句修复它:

if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
Run Code Online (Sandbox Code Playgroud)

然后会显示视图,尽管设置中没有配置Facebook/Twitter帐户.并且"无Facebook/Twitter帐户"alertView显示!我能够点击警报上的"设置"按钮,它指示我进入设置(在设置中配置Facebook/Twitter帐户)

这是我使用的代码,它对我来说非常有用:

- (IBAction)bTwitter:(id)sender {

mySLComposerSheet = [[SLComposeViewController alloc] init];

mySLComposerSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];

[mySLComposerSheet setInitialText:@""];

[mySLComposerSheet addImage:[UIImage imageNamed:@""]];

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

}
Run Code Online (Sandbox Code Playgroud)