ios - 将屏幕截图保存到沙箱

标签 ios xcode screenshot sandbox

是否有任何方法可以将屏幕截图保存到应用程序的沙箱或一些可以轻松找到以添加到电子邮件附件的位置?目前我将其保存在相机胶卷中,但似乎无法将其附加到我的电子邮件中

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/

相关文章:

iphone - Xcode Organizer 在哪里存储 iPhone 屏幕截图?

android - 截图(root)

iphone - iOS 中的数据加密

c# - 如何在捕获的屏幕截图上绘图

ios - 地址簿 iOS : Contact name from string

ios - 在 iOS 8 上调整 UIModalPresentationFormSheet 的大小

objective-c - 无法加载localizable.strings

ios - UnityWebRequest 在 iOS 中不起作用

iphone - 使用更新的配置文件重建 IPA 文件

xcode - 查看存档菜单而不创建存档