Как я могу отправить изображение с MFMailComposeViewController - PullRequest
2 голосов
/ 14 февраля 2012

Я пытаюсь отправить электронное письмо, используя MFMailComposeViewController, но как-то не получается.Когда я не отправляю изображение, все работает просто отлично.Но если я пытаюсь добавить фотографию, появляется следующая ошибка:

-(IBAction)gonder:(id)sender{
  MFMailComposeViewController *mailComposeViewController = [[MFMailComposeViewController alloc] init];
  mailComposeViewController.mailComposeDelegate = self;

  [mailComposeViewController setSubject:@"deneme"];
  UIImage *savedImage = self.image;
  NSData *imageData = UIImagePNGRepresentation(savedImage);
  [mailComposeViewController addAttachmentData:imageData mimeType:@"image/png" fileName:@"photo"];
  NSString *emailBody = @"my text";
  [mailComposeViewController setMessageBody:emailBody isHTML:NO];

  [emailBody release];
  NSArray *alicilar=[[NSArray alloc]initWithObjects:@"mymailadress.com", nil];
  [mailComposeViewController setToRecipients:alicilar];

  [mailComposeViewController view];
}

- (void) mailComposeController:(MFMailComposeViewController*)mailComposeViewController bodyFinishedLoadingWithResult:(NSInteger)result error:(NSError*)error
{
  @try
  {
    id mailComposeController = [mailComposeViewController valueForKeyPath:@"internal.mailComposeController"];
    id sendButtonItem = [mailComposeViewController valueForKeyPath:@"internal.mailComposeView.sendButtonItem"];
    [mailComposeController performSelector:@selector(send:) withObject:sendButtonItem];
  }
  @catch (NSException *e) {}
  [mailComposeViewController release];
}

Это ошибки:
2012-02-14 16:19:58.322 il[653:307] *** ERROR: FigCreateCGImageFromJPEG returned -12905. Input (null) was 444585 bytes.

Ответы [ 2 ]

1 голос
/ 16 февраля 2012

Я думаю, проблема в том, как вы создаете объект данных.попробуйте это:

NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(savedImage)];

также рассмотрите возможность использования JPEG вместо PNG, это немного быстрее.

1 голос
/ 14 февраля 2012

Изображение, которое вы пытаетесь прикрепить, очень большое? Это может быть проблема нехватки памяти.

...