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

} 

I을 mailComposeController를 구현하여 콜백을 처리했습니다.

답변

0

cocos2d 포럼 (http://www.cocos2d-iphone.org/forum)에서 CJ는 나를 도와주었습니다.

중요한 부분은 내가 [dicector stopAnimation]이라고 부르지 않았지만 다른 좋은 비트도있었습니다.

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

을 내가 mailComposeController에 콜백을 얻을 때 다음, 나는 마지막에 이렇게 :

나는 지금 presentModalViewController하기 전에이 작업을 수행

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

[myMail.view.superview removeFromSuperview]; 

희망이 다른 사람을 도움이됩니다.