是否有任何方法可以将屏幕截图保存到应用程序的沙箱或一些可以轻松找到以添加到电子邮件附件的位置?目前我将其保存在相机胶卷中,但似乎无法将其附加到我的电子邮件中
NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDirectory = [path objectAtIndex:0];
NSString *png = @".png";
NSString *filename = [drawquestion stringByReplacingOccurrencesOfString:@" " withString:@""];
NSString *link = [NSString stringWithFormat: @"%@%@%@", documentDirectory,filename,png];
NSString *imagePath = [NSHomeDirectory() stringByAppendingPathComponent:link];
NSLog(link);
UIImageWriteToSavedPhotosAlbum(viewImage, drawquestion, nil, nil);
最佳答案
以下是有关如何将图像附加到电子邮件的 2 个简单示例。
// with UIImage * image;
MFMailComposeViewController * mfcvc = [[[MFMailComposeViewController alloc] init] autorelease];
NSData * imageData = UIImagePNGRepresentation(image);
[mfcvc addAttachmentData:imageData mimeType:@"image/png" fileName:@"demo"];
[self.viewController presentModalViewController:mfcvc animated:YES];
// with UIImage * image; and float compression_quality; between 0.0 and 1.0
MFMailComposeViewController * mfcvc = [[[MFMailComposeViewController alloc] init] autorelease];
NSData * imageData = UIImageJPEGRepresentation(image, compression_quality);
[mfcvc addAttachmentData:imageData mimeType:@"image/jpeg" fileName:@"demo"];
[self.viewController presentModalViewController:mfcvc animated:YES];
将图像保存在应用程序沙箱的文档目录中
NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDirectory = [path objectAtIndex:0];
NSString *png = @".png";
NSString *filename = [drawquestion stringByReplacingOccurrencesOfString:@" " withString:@""];
NSString *imagePath = [documentDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@%@",filename, png]];
[imageData writeToFile:imagePath atomically:YES];
附注
我清理了路径的构造,看来你的代码有一个类似的路径
/var/mobile/Applications/APP_ID//var/mobile/Applications/APP_ID/Documents/filename.png
关于ios - 将屏幕截图保存到沙箱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11944849/