现在的社会视图控制器Cocos2d

Kyl*_*lan 2 social facebook uiviewcontroller cocos2d-iphone

我试图使用社交框架从Cocos2d内呈现"Post To Facebook"视图控制器.这是我通常在故事板应用程序中使用的代码

if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
    SLComposeViewController *facebook = [[SLComposeViewController alloc] init];
    facebook = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
    [facebook setInitialText:[NSString stringWithFormat:@"text"]];
    [self presentViewController:facebook animated:YES completion:nil];
    [facebook setCompletionHandler:^(SLComposeViewControllerResult result) {
        NSString *output;
        switch (result) {
            case SLComposeViewControllerResultCancelled:
                output = @"Action Cancelled";
                break;
            case SLComposeViewControllerResultDone:
                output = @"Posted";
                NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
                [ud setInteger:1 forKey:@"Shared"];
                [ud synchronize];
            default:
                break;
        }
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Facebook" message:output delegate:nil cancelButtonTitle:@"Okay" otherButtonTitles:nil, nil];
        [alert show];
    }];
}
Run Code Online (Sandbox Code Playgroud)

我如何在Cocos2d中启动并运行它?目前它引发了对该线的警告

[self presentViewController:facebook animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

提前致谢

Ben*_*ove 10

在cocos2d 2.0中,您可以使用[CCDirector sharedDirector]而不是self.

[[CCDirector sharedDirector] presentViewController:facebook animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

这是有效的,因为CCDirector继承自UIViewController.