的cocos2d +的ViewController = EXC_BAD_ACCESS

时间:2013-02-14 06:46:12

标签: cocos2d-iphone exc-bad-access viewcontroller

我有问题。我称这个函数为:

- (void)createComposeViewController:(NSString *)serviceType {
__block SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:serviceType];

if (controller == nil) return;

[controller setInitialText:@"I like appname!")];
[controller addURL:[NSURL URLWithString:@"http://appstore.com/appname"]];
[controller addImage:[UIImage imageNamed:@"Icon.png"]];
controller.completionHandler = ^(SLComposeViewControllerResult result) {
if (result == SLComposeViewControllerResultCancelled) {
NSLog(@"Cancelled");
} else {
NSLog(@"send message to social");
}

[controller dismissViewControllerAnimated:YES completion:nil];
};

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

它正在运作。但是,如果我不关闭消息字段并最小化应用程序,那么我在CCGLView.m中得到EXC_BAD_ACCESS在275行:

if(![context_ presentRenderbuffer:GL_RENDERBUFFER])

我不知道为什么。 我在iPad 3上遇到此错误。我没有其他设备。

我在模拟器中得到了这个:

<Error>: CGImageCreate: invalid image size: 0 x 0.

但应用程序正在运行。

其他ViewController也是如此,例如使用GKLeaderboardViewController

如果创建新项目,那么所有工作都没有任何错误,条件相同。 我做错了什么?

cocos2d v2.1-beta4 IOS6.1

1 个答案:

答案 0 :(得分:0)

使用app delegate代替导演

SLComposeViewController*fvc = [SLComposeViewController
                                       composeViewControllerForServiceType:SLServiceTypeFacebook];
        [fvc setInitialText:desc];
        [fvc addImage:[UIImage imageNamed:imgPath]];
        [fvc setCompletionHandler:^(SLComposeViewControllerResult result) {
            [myDelegate.navController dismissModalViewControllerAnimated:YES];

        }];

        AppController * myDelegate = (((AppController*) [UIApplication sharedApplication].delegate));

        [myDelegate.navController presentViewController:fvc animated:YES completion:^{
        }];