2010-04-04 202 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]; 

希望這可以幫助其他人。