2015-01-23 1 views
3

내 앱의 스크린 샷을 가져 와서 메시지의 연락처로 보내려고합니다. 스크린 샷은 내 사진 보관함에서 볼 때 잘 찍히지 만 메시지 작성자가 이미지를 열면 "?" 마임 유형과 같이 올바르지 않습니다. UIImageJPEGRepresentation을 사용하여 이미지를 NSData로 변환합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 많은 감사합니다앱의 스크린 샷을 찍은 다음 Swift를 사용하여 메시지에 첨부하십시오.

func screenShotMethod() { 


    if (messageComposer.canSendText()) { 
     // Obtain a configured MFMessageComposeViewController 
     //Create the UIImage 
     UIGraphicsBeginImageContext(view.frame.size) 

     view.layer.renderInContext(UIGraphicsGetCurrentContext()) 
     let image = UIGraphicsGetImageFromCurrentImageContext() 
     UIGraphicsEndImageContext() 
     //Save it to the camera roll 
     //UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil) 

     let messageComposeVC = messageComposer.configuredMessageComposeViewController() 
     //messageComposeVC.body = image 
     var imageData = UIImageJPEGRepresentation(image, 1.0) 
     messageComposeVC.addAttachmentData(imageData, typeIdentifier: "image/jpeg", filename: "My Image") 
     presentViewController(messageComposeVC, animated: true, completion: nil) 
    } 
    else 
    { 
     println("No good") 
    } 
} 

답변

5

나는 스스로 문제를 발견했습니다. 파일 이름에는 확장자가 필요합니다. 나는과 같이 ".JPEG"를 추가 :

messageComposeVC.addAttachmentData(imageData, typeIdentifier: "image/jpeg", filename: "My Image.jpeg") 
0
controller.addAttachmentData(UIImageJPEGRepresentation(screenShot, CGFloat(1.0))!, typeIdentifier: "image/jpeg", filename: "test.jpg") 
+1

어쩌면 당신은 당신의 코드를 설명하고 그 1 년 전에 게시 이미 기존 응답보다 더 나은 이유를 설명 할 수 ... – Marki555