我正在尝试使用MFMailComposeViewController发送一个我已添加到项目中的Image。
我在模拟器中尝试了这个并且它工作正常,我也可以在Textfield中看到Image,但是当我尝试发送Mail时,我在控制台上收到以下错误:
Feb 10 16:22:02 markuss-macbook-pro.speedport.ip RMC Konus [1825]:CGImageCreate:图片大小无效:0 x 0。
我的代码:
//Get the Image
UIImage *image = [UIImage imageNamed:@"image.png"];
NSData *imageData = UIImagePNGRepresentation(image);
//Create the Mail View
MFMailComposeViewController *mailCV = [[MFMailComposeViewController alloc] init];
[mailCV setMailComposeDelegate:self];
[mailCV addAttachmentData:imageData mimeType:@"image/png" fileName:@"exGraphic.png"];
//Show the View Controller
[self presentViewController:mailCV animated:YES completion:nil];
答案 0 :(得分:2)
问题仅出现在模拟器中。 我在许多不同的设备上检查这些代码,它仍然没有问题。所以我想说,这是模拟器的问题......
答案 1 :(得分:0)
UIImagePNGRepresentation的返回值(来自Apple文档) -
包含PNG数据的数据对象,如果出现问题,则为nil 生成数据。如果图像没有,则此函数可能返回nil 数据或基础CGImageRef包含不受支持的数据 位图格式。
这意味着检查您的图像是否支持将其转换为带有png格式的NSData,因为您在此处收到NULL。您的错误CGImageCreate: invalid image size: 0 x 0.
表示它为NULL。
通过更改图像来检查。也可以不使用[UIImage imageNamed:@""]
进行检查,因为这种方法有很多不利之处。
另外一件事,你已将image.png图像转换为NSData&发送另一张图片exGraphic.png作为附件,检查