0

기기의 카메라를 사용하여 사진을 찍어 이메일에 첨부하는 앱을 만들려고합니다. 코드를 작성하려고했지만 이미지가 첨부되지 않습니다. 내가하고있는 일은 UIImageView에서 처음 볼 사진을 찍은 후 "완료"버튼을 클릭하면 이미지가 샌드 박스에 저장되고 첨부 파일로 검색됩니다. 첨부 파일에 대한목표 C : 사진을 찍어 이메일에 첨부하십시오.

NSData *imgData = UIImageJPEGRepresentation(attachingImage, 1); 
jpgPath = [NSHomeDirectory() stringByAppendingPathComponent:@"defectImg.jpg"]; 
[imgData writeToFile:jpgPath atomically:YES]; 

...

UIImage *myImage = [UIImage imageNamed:jpgPath]; 
    NSData *myImageData = UIImagePNGRepresentation(myImage); 
    [tempMailCompose addAttachmentData:myImageData mimeType:@"image/jpeg" fileName:@"defectImage.jpg"]; 

것은 무엇 잘못 될 수 ... 이미지를 저장하는 경우 :

여기 내 코드입니까?

답변

2

[UIImage imageNamed:]은 임의의 이미지를로드하지 않습니다. 번들 (Xcode에서 추가 한 이미지)에서 이미지를로드 할 수 있습니다.

대신 UIImage *myImage = [UIImage imageNamed:jpgPath];

당신은 디스크에서 이미지를로드 imageWithContentsOfFile:를 사용하고 싶습니다. 또한

UIImage *myImage = [UIImage imageWithContentsOfFile:jpgPath]; 

: 당신은 PNG로 이미지를 생성하고 JPEG로 연결되는

.

NSData를 디스크에 저장하지 않아도됩니다. 몇 초 후에로드 할 수 있습니다. imgData 참조를 메일 작성자에게 전달합니다.

+0

감사합니다! imagData를 메일 작성자에게 전달했습니다. 이제 작동 중입니다. –

0

또한. html로 편지를 작성할 수 있습니다. 그래서 당신은 그림을 어디에 둘 것인지 결정합니다.

MFMailComposeViewController *mailController = [MFMailComposeViewController new]; 
mailController.mailComposeDelegate = self; 
NSString *subject = [NSString stringWithFormat:@"%@ by %@", m_art.title, [m_art.author authorFullNameByReverse:NO]]; 
[mailController setSubject:subject]; 

NSString *body = [NSString stringWithFormat:@"<html><body>Hi,<br>"]; 
body = [body stringByAppendingFormat:@"<img src='%@' width = '50%%' height = '50%%'><br>", [Utils urlAtArtPath:m_art.url]]; 
body = [body stringByAppendingFormat:@"More info here: <a href='%@'>%@</a></body></html>", m_art.url, m_art.url]; 

m_mail.enabled = NO; 

[mailController setMessageBody:body isHTML:YES]; 
+0

Utils 및 m_mail이란 무엇입니까? –

+0

이것은 내 문자열 값입니다. – Sauvage