2011-04-26 61 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)