Rejection rejection

My application is to create a csv file and send it by mail. But when I drop the mail, I get a black screen. The previous view is not displayed and is covered with a black screen. I looked at various questions and answers in the stack overflow. But nothing works.

- (IBAction)openMail:(id)sender { [self getdata]; if ([MFMailComposeViewController canSendMail]) { MFMailComposeViewController *mailer = [[MFMailComposeViewController alloc] init]; mailer.mailComposeDelegate = self; [mailer setSubject:@"BMNET- Travel Log"]; NSString * CSVstring=@ "Name, StartingDateNTime, EndingDateNTime, TravelType, DistanceTravelled, Amount\n" ; NSString *CSVPath,*record;; NSString *temporayCSV= @"" ; for (int i=0; i<[getAmount count]; i++) { record = [NSString stringWithFormat:@"%@, %@, %@, %@, %@, %@", [getName objectAtIndex:i], [getStartDate objectAtIndex:i], [getEndDate objectAtIndex:i],[getType objectAtIndex:i],[getDistance objectAtIndex:i],[getAmount objectAtIndex:i]]; NSLog(@"%d",i); temporayCSV = [NSString stringWithFormat:@"%d %@ \n ",(i+1),record]; CSVstring = [CSVstring stringByAppendingFormat:temporayCSV]; NSLog(@"%@",CSVstring); } NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSArray *toRecipients = [NSArray arrayWithObjects:@"", nil]; [mailer setToRecipients:toRecipients]; CSVPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.csv", @"CSV_FormatedTable"]]; NSFileManager *fileManager; //add our file to the path [fileManager createFileAtPath:CSVPath contents:[CSVstring dataUsingEncoding:NSUTF8StringEncoding] attributes:nil]; NSData *rolesCSVData =[NSData dataWithContentsOfFile:CSVPath]; NSLog(@"The data is %@",CSVstring); //create my data to append NSFileHandle *handle; handle = [NSFileHandle fileHandleForWritingAtPath: CSVPath ]; //say to handle where the file fo write [handle truncateFileAtOffset:[handle seekToEndOfFile]]; //position handle cursor to the end of file [handle writeData:[data dataUsingEncoding:NSUTF8StringEncoding]]; //write data to with the right encoding [mailer addAttachmentData:rolesCSVData mimeType:@"text/csv" fileName:@"Log"]; NSString *emailBody = @"Attachment of Log"; [mailer setMessageBody:emailBody isHTML:NO]; [self presentModalViewController:mailer animated:YES]; mailer.modalPresentationStyle = UIModalPresentationPageSheet; } else { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Failure" message:@"Your device doesn't support the composer sheet" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alert show]; } } - (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error { switch (result) { case MFMailComposeResultCancelled: NSLog(@"Mail cancelled: you cancelled the operation and no email message was queued."); break; case MFMailComposeResultSaved: NSLog(@"Mail saved: you saved the email message in the drafts folder."); break; case MFMailComposeResultSent: NSLog(@"Mail send: the email message is queued in the outbox. It is ready to send."); break; case MFMailComposeResultFailed: NSLog(@"Mail failed: the email message was not saved or queued, possibly due to an error."); break; default: NSLog(@"Mail not sent."); break; } // Remove the mail view [self dismissModalViewControllerAnimated:YES]; } 
+4
source share
1 answer

presentModalViewController:animated: and dismissModalViewControllerAnimated: are deprecated from iOS6, just like the note! for which versions of iOS are you targeting, and is this the app for the iPhone or iPad you are working on?

In addition, I noticed the following:

 [self presentModalViewController:mailer animated:YES]; mailer.modalPresentationStyle = UIModalPresentationPageSheet; 

you set modalPresentationStyle after you submit the view controller! move the line mailer.modalPresentationStyle = UIModalPresentationPageSheet; to the current row of the ModalViewController. Perhaps this is a problem!

+1
source

Source: https://habr.com/ru/post/1439367/


All Articles