2011-04-26 63 views
15

我目前正在模拟器上工作。 我想将UIImage保存到我的桌面上的jpg文件。iPhone - 在模拟器上保存UIImage到桌面

看起来我有路径问题或其他问题。

谢谢您的帮助:)

+0

请,提供更多的细节。 – 2011-04-26 18:03:59

回答

26

以下应该让你开始... myImage是一个UIImage对象。

NSFileManager *fileManager = [NSFileManager defaultManager]; 
NSData *myImageData = UIImagePNGRepresentation(myImage); 
[fileManager createFileAtPath:@"/Users/Me/Desktop/myimage.png" contents:myImageData attributes:nil]; 

编辑:

NSData *myImageData = UIImageJPEGRepresentation(myImage, 1.0); 

注:这是快速和肮脏的有用只注意到你想要一个JPG图像,您可以使用UIImageJPEGRepresentation()所以得到一个JPG的NSData表示测试,但我会建议学习如何写入您的应用程序的文档目录,然后使用Finder找到那里的文件。一个例子路径在模拟器应用程序的文件目录是:

/Users/Me/Library/Application Support/iPhone Simulator/4.3/Applications/1E2C2C81-1ED6-4DC9-CDD0-CA73FB56501F/Documents

+0

是的,这是脏测试:) – 2011-04-26 18:24:57

+0

其实如何“写入到您的应用程序的文档目录,然后使用Finder找到那里的文件。在模拟器中应用程序的文档目录的示例路径是:” – 2012-10-11 01:36:40

0

模拟器模拟沙盒应用程序,但因为它是你的Mac上,您可以访问该应用程序及其所有文件都存储在目录中。因此,在您的应用程序中,如果您可以弄清楚如何将数据写入文件(在应用程序的沙箱中),那么您可以使用Finder找到该目录并找到该文件。这有帮助还是我错过了什么?

1

尝试将cd /Users/{your username}/Library/Application\ Support/iPhone\ Simulator/4.3/Applications/{application id}/Documents/

与Mac的用户名替换{your username}{application id}是您的应用程序GUID(随机)。您也可以改变4.3到什么都应用程式版本是专为

0

对于斯威夫特

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)