2010-04-04 157 views
0

我有点奇怪的问题。我正在尝试发送应用内电子邮件。我也在使用Cocos2d。它起作用,就我所知,我可以发送邮件,但它却非常慢。似乎只是每秒接受一次接触。我检查了cpu的使用情况,并且它很低。我暂停了我的导演,所以没有别的事情会发生。有任何想法吗?我正在拉我的头发。极其缓慢MFMailComposeViewControllerDelegate

我看了一些例子,并做了以下内容:

使我的场景中的邮件委托:

@interface MyLayer : CCLayer <MFMailComposeViewControllerDelegate> { 
    ... 
} 

和实施场景以下功能:

-(void) showEmailWindow: (id) sender { 
    [[CCDirector sharedDirector] pause]; 

    MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; 
    picker.mailComposeDelegate = self; 

    [picker setSubject: @"My subject here"]; 

    NSString *emailBody = @"<h1>Here is my email!</h1>"; 

    [picker setMessageBody:emailBody isHTML:YES]; 

    [myMail presentModalViewController:picker animated:NO]; 
    [picker release]; 

} 

我也实施mailComposeController,用于处理回调。

回答

0

在在cocos2d的论坛(http://www.cocos2d-iphone.org/forum),CJ帮了我。

最重要的部分是,我是不是打电话[dicector stopAnimation],但也有一些其他的好位了。

我现在我presentModalViewController之前:

CCDirector *director = [CCDirector sharedDirector]; 
[director pause]; 
[director stopAnimation]; 
[director.openGLView setUserInteractionEnabled:NO]; 

,然后当我得到回调,在mailComposeController,我这样做结尾:

CCDirector *director = [CCDirector sharedDirector]; 
[director.openGLView setUserInteractionEnabled:YES]; 
[director startAnimation]; 
[director resume]; 

[myMail.view.superview removeFromSuperview]; 

希望这可以帮助其他人。