【发布时间】:2015-06-25 20:56:10
【问题描述】:
我正在尝试在不显示编辑器的情况下发送带有照片附件的电子邮件。最终我试图做到这一点,所以当有人登录应用程序时,它会自动向他们发送一封电子邮件。
我的实现:
if let videoConnection = stillImageOutput!.connectionWithMediaType(AVMediaTypeVideo) {
videoConnection.videoOrientation = AVCaptureVideoOrientation.Portrait
//initiates a still image and returns
//samplebugger data was captured
stillImageOutput?.captureStillImageAsynchronouslyFromConnection(videoConnection, completionHandler: {(sampleBuffer, error) in
if (sampleBuffer != nil) {
var imageData = AVCaptureStillImageOutput.jpegStillImageNSDataRepresentation(sampleBuffer)
//creates core graphics image
var dataProvider = CGDataProviderCreateWithCFData(imageData)
var cgImageRef = CGImageCreateWithJPEGDataProvider(dataProvider, nil, true, kCGRenderingIntentDefault)
var image = UIImage(CGImage: cgImageRef, scale: 1.0, orientation: UIImageOrientation.Right)
//saves image after taken
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)
var myController = MFMailComposeViewController()
myController.mailComposeDelegate = self
myController.setSubject(" Your Sherpa Photo")
myController.setMessageBody("hello World", isHTML: false)
myController.setToRecipients(["keli5466@colorado.edu"])
var emailimageData = UIImagePNGRepresentation(image)
myController.addAttachmentData(emailimageData, mimeType: "image/png", fileName: "image")
self.presentViewController(myController, animated: true, completion: nil)
}
})
}
// ...
func mailComposeController(controller: MFMailComposeViewController!, didFinishWithResult result: MFMailComposeResult, error: NSError!) {
if result.value == MFMailComposeResultSent.value {
let alertView = UIAlertView()
alertView.message = "Mail Sent!"
alertView.addButtonWithTitle("OK")
alertView.show()
}
self.dismissViewControllerAnimated(false, completion: nil)
}
【问题讨论】:
标签: ios swift mfmailcomposeviewcontroller