2

iOS 6システムでMFMailComposeViewControllerのインスタンスを起動すると、次のエラーが散発的に発生します。すべてがiOS5で正常に機能し、iOS6でのみ発生します。

*キャッチされなかった例外'NSGenericException'が原因でアプリを終了しました、理由:'*コレクション[__NSArrayM:...]は列挙中に変更されました。

このエラーは、起動中のView ControllerのviewWillDisappear()関数が呼び出された直後に発生します。

他の誰かがこの問題に遭遇したか、それに対する修正に出くわしましたか?

ありがとう!

コードはかなり標準的ですが、とにかくそれを含めました:

-(IBAction)doEmailLog:(id)sender 
{    
    if( [self canSendMail] )
    {       
        // create the compose message view controller
        MFMailComposeViewController* mailComposer = [[MFMailComposeViewController alloc] init];

        // this class will handle the cancel / send results
        mailComposer.mailComposeDelegate = self;

        // fill in the header and body
        [mailComposer setSubject:@"My Subject"];
        [mailComposer setMessageBody:@"My message body" isHTML:NO];

        // attach log file
        if ([[NSFileManager defaultManager] fileExistsAtPath:filename])
        { 
            NSData *data = [NSData dataWithContentsOfFile:filename];
            [mailComposer addAttachmentData:data mimeType:@"text/plain" fileName:filename];
        }

        // show the view controller
        [self presentViewController:mailComposer animated:YES completion:^{LogTrace(@"Presented mail view controller");}];
    }
    else
    {
        ...
    }
}

-(void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
    ...

    // dismiss the compose message view controller
    [self dismissViewControllerAnimated:YES completion:^{LogTrace(@"Finished dismissing mail controller");}];
}
4

0 に答える 0