2015-02-06 44 views
0

我想從一個URL(在這種情況下是一個圖像)獲取數據,並將這些數據寫入磁盤。 我收到的數據和一切似乎很好。調試器甚至顯示數據寫入磁盤,甚至是正確的大小。 但是,當我打開照片應用程序,我無法找到該文件。爲什麼?NSData不保存在本地文件

var fileData: NSData = NSData(contentOfURL: response.URL!)! 
var paths: NSArray = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true) 
var documentsDirectory: NSString = paths.objectAtIndex(0) as NSString 
var filePath = documentsDirectory.stringByAppendingPathComponent("new.jpg") 
fileData.writeToFile(filePath, atomically: true) 
+3

您爲什麼期望Photos應用能夠看到_your_文件?它在_your_沙箱中。照片應用程序有其_own_沙箱 - 它自己的圖書館,它自己的世界。 – matt 2015-02-06 15:43:23

+0

您在自己的應用程序中保存的所有內容都與設備上的其他應用程序分開存放... https://developer.apple.com/library/mac/documentation/Security/Conceptual/AppSandboxDesignGuide/AboutAppSandbox/AboutAppSandbox.html – timgcarlson 2015-02-06 15:44:31

+0

我可以讓其他應用程序可見,甚至可以在我的應用程序之外使用該文件嗎? – zanzoken 2015-02-06 15:46:09

回答

1

我想你可以寫信給UIImageWriteToSavedPhotosAlbum的照片應用專輯。當然,您需要先將數據轉換爲UIImage:[UIImage imageWithData: fileData]

+0

我知道這是一個單獨的問題。但是,你知道我會如何做到這一點的視頻和音頻文件? – zanzoken 2015-02-06 16:04:59

+1

對於視頻可能是'UISaveVideoAtPathToSavedPhotosAlbum'。對於音頻,afaik無法從第三方應用程序寫入iTunes資料庫。 – Alf 2015-02-06 16:07:37