2014-07-12 49 views
1

我是新的cocoa2d.I'm尝试在视图中使用presentViewController进行Facebook共享。CCDirector可能不会响应presentviewcontroller:动画

这里是代码:

-(void)shareFB:(NSString *)text 
{ 
    if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) { 

     SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; 

     [controller setInitialText:text]; 

     [[CCDirector sharedDirector]presentViewController:controller animated:YES completion:nil]; 
    } 
    else 
    { 
     UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Sorry!" message:@"Please add Facebook account in settings menu" delegate:Nil cancelButtonTitle:@"OK" otherButtonTitles:Nil, nil]; 
     [alert show]; 
    } 
} 

它详细介绍了警告:

[[CCDirector sharedDirector]presentViewController:controller animated:YES completion:nil]; 

即:CCDirector可能不回应 'presentviewcontroller:动画:完成:'

+0

工作正常还是应用程序崩溃 – Blisskarthik

+0

是的,它崩溃了。 错误:NSInvalidArgumentException',原因:' - [CCDirectorTimer presentViewController:动画:完成:]:无法识别的选择器发送到实例 – iBhavin

+0

请试试解答并通知我 – Blisskarthik

回答

1

确定我得到了解决。

CCDirectorNSObject类型。我只是将其更改为UIViewController,它的工作原理。 感谢@Blisskarthik的帮助。

0

我喜已经修改了少量更正并粘贴在下面的代码。它的正常工作

SLComposeViewController *faceBookPost = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; 

[faceBookPost setInitialText:@"I am playing game"]; 
[faceBookPost addURL:[NSURL URLWithString:@"http://www.yourlink.com"]]; 
[[CCDirector sharedDirector]presentViewController:faceBookPost animated:YES completion:nil]; 
      faceBookPost.completionHandler = ^(SLComposeViewControllerResult result) 
      { 
       [[CCDirector sharedDirector] resume]; 
       [[CCDirector sharedDirector] startAnimation]; 
       [[CCDirector sharedDirector]dismissViewControllerAnimated:YES completion:nil]; 
      }; 

否则按照此步骤

与UINavigationController的这样

@interface MyNavigationController : UINavigationController <CCDirectorDelegate> 
@end 

@interface AppController : NSObject <UIApplicationDelegate> 
{ 
UIWindow *window_; 
MyNavigationController *navController_; 
CCDirectorIOS *director_; 
} 

在应用程序控制器的didFinishLaunchingWithOptions建立在你的AppController中的接口设置导航控制器

navController_ = [[MyNavigationController alloc] initWithRootViewController:director_]; 
navController_.navigationBarHidden = YES; 
[director_ setDelegate:navController_]; 
// set the Navigation Controller as the root view controller 
[window_ setRootViewController:navController_]; 

然后在你叫S的班上LComposeViewController呈现这样

AppController *app = (AppController*) [[UIApplication sharedApplication] delegate]; 
[[app navController] presentViewController:faceBookPost animated:YES completion:nil]; 

视图两种类型工作正常

+0

谢谢,但不工作。! – iBhavin

+0

现在显示的错误是什么 – Blisskarthik

+0

该行同样的警告和相同的错误。 – iBhavin

相关问题