2010-04-04 7 views
0

J'ai un peu un problème étrange. J'essaie d'envoyer des e-mails dans l'application. J'utilise aussi Cocos2d. Cela fonctionne, pour autant que je reçoive la fenêtre mail et que je puisse envoyer du courrier, mais c'est extrêmement lent. Il semble n'accepter des touches que toutes les secondes. J'ai vérifié l'utilisation du processeur, et il est assez faible. J'ai arrêté mon directeur, donc rien d'autre ne devrait se produire. Des idées? Je retire mes cheveux.Extrêmement lent MFMailComposeViewControllerDelegate

Je regardais quelques exemples et fait ce qui suit:

Fait ma scène le délégué mail:

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

et mis en œuvre la fonction suivante dans les coulisses:

-(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]; 

} 

J'ai aussi implémenté mailComposeController, pour gérer le callback.

Répondre

0

Plus sur le forum cocos2d (http://www.cocos2d-iphone.org/forum), CJ m'a aidé.

La partie importante était que je n'appelais pas [dicector stopAnimation], mais il y avait quelques autres bons morceaux, aussi.

que je fais maintenant avant que je presentModalViewController:

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

Et puis quand je reçois le rappel, dans mailComposeController, je le fais à la fin:

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

[myMail.view.superview removeFromSuperview]; 

Hope this helps quelqu'un d'autre.

Questions connexes