我正在保存从本地沙箱(文件系统)中的摄像头捕获的图像,并将文件路径存储在我的应用程序中以显示图像(使用Swift)。我看到如果我在XCode中点击播放,图像将被删除(这没关系)
现在我想知道如果我将这个提交到应用程序商店会发生什么,用户保存图像,我稍后会更新应用程序。图像也会被移除吗?
要存储图像,我使用此功能..
func saveImageLocally(imageData:NSData!) -> String{
let time = NSDate().timeIntervalSince1970
let fileManager = NSFileManager.defaultManager()
let dir = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0].stringByAppendingPathComponent(subDirForImage) as String
if !fileManager.fileExistsAtPath(dir) {
var error: NSError?
if !fileManager.createDirectoryAtPath(dir, withIntermediateDirectories: true, attributes: nil, error: &error) {
println("Unable to create directory: \(error)")
return ""
}
}
let path = dir.stringByAppendingPathComponent("IMAGENAME\(Int(time)).png")
var error: NSError?
if !imageData.writeToFile(path, options: NSDataWritingOptions.DataWritingAtomic, error: &error) {
println("error writing file: \(error)")
return ""
}
return path
}
答案 0 :(得分:1)
您存储在文档文件夹中的任何内容都将通过应用更新保留,只需保留相同的应用ID并增加版本号。
虽然值得注意的是应用程序沙箱的完整路径会有所不同(将有一个新的沙箱用于更新并将旧数据复制到其中),因此请确保您只是通过存储相对路径来访问资源等,并没有存储图像的完整路径,并期望它们在更新后解析。