我有问题。我称这个函数为:
- (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
答案 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:^{
}];