1

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

- (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 的 275-st 行中获得 EXC_BAD_ACCESS:

if(![context_ presentRenderbuffer:GL_RENDERBUFFER])

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

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

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

但一个应用程序工作。

其他 ViewController 也是如此,例如 GKLeaderboardViewController

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

cocos2d v2.1-beta4 IOS6.1

4

1 回答 1

0

使用应用程序委托而不是主管

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:^{
        }];
于 2013-02-14T11:18:17.360 回答