2011-10-19 13 views
6

por favor ayúdenme! Puedo enviar una imagen pero no puedo enviar el archivo pdf a pesar de que veo el archivo adjunto del icono en el correo electrónico. Mi código:no se puede enviar un archivo pdf con el correo electrónico xcode

MFMailComposeViewController *sendmailview = [[MFMailComposeViewController alloc] init]; 
    sendmailview.mailComposeDelegate = self; 
// I can send image with: 
// UIImage *roboPic = [UIImage imageNamed:@"Default.png"]; 
// NSData *imageData = UIImageJPEGRepresentation(roboPic, 1); 
// [sendmailview addAttachmentData:imageData mimeType:@"image/png" fileName:@"Default.png"]; 

// But Can't send pdf file 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

    NSString *documentsDirectory = [paths objectAtIndex:0]; 

     NSString *file = [documentsDirectory stringByAppendingFormat:@"book.pdf"]; 

    NSMutableData *data=[NSMutableData dataWithContentsOfFile:file]; 

    [sendmailview addAttachmentData:data mimeType:@"application/pdf" fileName:@"book.pdf"]; 

// I see icon book.pdf when attach,but when i sent mail,mail receiver not see pdf file... 

     [self presentModalViewController:sendmailview animated:YES]; 

    [sendmailview release]; 

Ayúdame ........

Gracias!

Respuesta

4

Uso

NSString *file = [documentsDirectory stringByAppendingFileComponent:@"book.pdf"]; 

en lugar de

NSString *file = [documentsDirectory stringByAppendingFormat:@"book.pdf"]; 

Además, los datos pueden ser NSData en lugar de NSMutableData.

NSData *data = [NSData dataWithContentsOfFile:file]; 

Por último, ¿se ha asegurado de que el archivo PDF esté presente en la ruta a la que se refiere? ¿Los datos variables son válidos?

+0

¡Gracias! Lo hice: NSString * file = [documentsDirectory stringByAppendingFormat: @ "/ book.pdf"]; y funciona ahora! gracias por tu ayuda – user1002290

Cuestiones relacionadas