我目前正在模拟器上工作。我想保存一个UIImage到jpg文件,在我的桌面上。
我的路径好像有问题。
谢谢你的帮助
下面的内容应该可以让你开始…myImage
是一个UIImage对象
NSFileManager *fileManager = [NSFileManager defaultManager];
NSData *myImageData = UIImagePNGRepresentation(myImage);
[fileManager createFileAtPath:@"/Users/Me/Desktop/myimage.png" contents:myImageData attributes:nil];
编辑:刚刚注意到您想要一个JPG图像,您可以使用UIImageJPEGRepresentation()
获得JPG的NSData
表示,因此:
NSData *myImageData = UIImageJPEGRepresentation(myImage, 1.0);
注意:这对于快速和肮脏的测试很有用,但我建议学习如何写入应用程序的文档目录,然后使用Finder在那里找到文件。模拟器中应用程序文档目录的示例路径为:
/Users/Me/Library/Application Support/iPhone Simulator/4.3/Applications/1E2C2C81-1ED6-4DC9-CDD0-CA73FB56501F/Documents
尝试进入cd /Users/{your username}/Library/Application Support/iPhone Simulator/4.3/Applications/{application id}/Documents/
替换{your username}
与您的mac用户名和{application id}
是您的应用程序GUID(随机)。你也可以将4.3
更改为应用程序的任何版本
对于Swift,
func outputImage(name:String,image:UIImage){
let fileManager = FileManager.default
let data = UIImagePNGRepresentation(image)
fileManager.createFile(atPath: "/Users/UserName/Projects/MyProject/testImages/(name)", contents: data, attributes: nil)
}
像这样调用
outputImage(name: "imageName.png", image: image)
模拟器模拟沙盒应用程序,但由于它在Mac上,您可以访问存储应用程序及其所有文件的目录。所以,在你的应用程序中,如果你能弄清楚如何将数据写入文件(在应用程序的沙箱中),那么你可以使用Finder来定位目录并定位文件。这有帮助吗,还是我遗漏了什么?