ho creato un file csv e lo sto collegando anche a MFMailComposer e mi mostra al mio compositore di posta ma quando lo invio alla mail dell'utente non mi mostra il file csv allegato in email. ho usato questo codice per creare file CSV e aggiungere dati in esso.come creare e allegare file CSV in MFMailComposer in sdk per iPhone?
NSMutableString *mainString=[[NSMutableString alloc]initWithString:@""];
//NSMutableArray *section = [[NSMutableArray alloc] init];
for(int i = 0;i<[NameArray count];i++)
{
NSString *string=[indexArray objectAtIndex:i];
string=[string stringByReplacingOccurrencesOfString:@"\"" withString:@"\"\""];
[mainString appendFormat:@"\"%@\"",string];
string=[NameArray objectAtIndex:i];
string=[string stringByReplacingOccurrencesOfString:@"\"" withString:@"\"\""];
[mainString appendFormat:@",\"%@\"",string];
string=[typearray objectAtIndex:i];
string=[string stringByReplacingOccurrencesOfString:@"\"" withString:@"\"\""];
[mainString appendFormat:@",\"%@\"",string];
[mainString appendFormat:@",\"%@\"",string];
[mainString appendFormat:@"\n"];
}
NSLog(@"getdatafor csv:%@",mainString);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectoryPath = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectoryPath stringByAppendingPathComponent:@"history.csv"];
// filePath = [filePath stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSData* settingsData;
settingsData = [mainString dataUsingEncoding: NSASCIIStringEncoding];
NSError *error;
[settingsData writeToFile:filePath atomically:YES];
// NSLog(@"writeok");
NSData *mediaData = [NSData dataWithContentsOfFile:filePath options:NSDataReadingMapped error:&error];
NSLog(@"Length:%d Error:%@",[mediaData length],[error localizedDescription]);
qui il codice di cui sopra funziona bene mi sto [lunghezza mediaData] Vi allego il file CSV da qui.
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
// Attach an image to the email
NSString *path = [[NSBundle mainBundle] pathForResource:@"history" ofType:@"csv"];
NSData *myData = [NSData dataWithContentsOfFile:path];
// Fill out the email body text
NSString *emailBody = @"history";
[picker setMessageBody:emailBody isHTML:NO];
[picker addAttachmentData:myData mimeType:@"text/cvs" fileName:@"history"];
[self presentModalViewController:picker animated:YES];
[picker release];
anche il codice sopra riportato funziona correttamente. mi mostra il file CSV allegato ma quando invio la posta via e-mail in quel momento il ricevente non riceve il file CSV allegato. cosa c'è di sbagliato in questo codice? perché il ricevitore non sta ottenendo il file allegato.?
hey qualcuno può aiutarmi? –
hey, qualsiasi corpo per favore mi dia un'idea su come allegare file csv nella nostra finestra del compositore di posta. –
selettore = [[MFMailComposeViewController alloc] init]; picker.mailComposeDelegate = self; [selettore setToRecipients: [array NSArrayWithObjects: @ "abc.xyz.com", nil]]; [selettore setSubject: @ "iMoneyManager - CSV esportato"]; [picker setMessageBody: @ "" isHTML: NO]; [picker addAttachmentData: mediaData mimeType: @ "text/csv" fileName: @ "MoneyManager"]; picker.navigationBar.tintColor = [UIColor blackColor]; [auto presenteModalViewController: picker animato: YES]; –