ファイルを送信するために電子メール シートを開いています。アプリに戻れないことを除けば、うまく機能します。
キャンセルボタンを押すと、下書きを削除するか保存するかを尋ねられ、そこにとどまります。アプリのページには戻りません。
コード:
//send email log-------------------------
NSLog(@"mail");
[[CCDirector sharedDirector] pause];
picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
//Fill in the email as you see fit
NSArray *toRecipients = [NSArray arrayWithObject:@"name@gmail.com"];
[picker setToRecipients:toRecipients];
NSArray *paths2 = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *dataPath = [[paths2 objectAtIndex:0] stringByAppendingPathComponent:@"Test.txt"];
NSData *data = [NSData dataWithContentsOfFile:dataPath];
[picker addAttachmentData:data mimeType:@"text/txt" fileName:@"Test.txt"];
NSString *emailBody = @"Test ";
[picker setMessageBody:emailBody isHTML:NO];
[picker setSubject:@"hardware test ## "];
//display the view
[[[CCDirector sharedDirector] openGLView] addSubview:picker.view];
[[CCDirector sharedDirector] stopAnimation];
編集:
回答で提案されている関数をここに追加しました。キャンセルを押すと関数が呼び出されますが、そのシートに残ります。私はcclayer(cocos2d)を使用していると言わざるを得ないので、レイヤーは次のように定義されています:
@interface HelloWorldLayer : CCLayer< MFMailComposeViewControllerDelegate>
他の提案はありますか?
どうもありがとう。