从共享应用程序组中删除文件
Deleting file from shared app group
我有一个功能可以成功地将文件移动到共享应用程序组中,但是我删除该文件的功能似乎不起作用。如果我打印出 fullpath2 变量,它似乎是正确的位置,但文件没有被删除,也没有返回错误。
这是我的函数:
func getSharedFilePath(appGroup:String,sharedFilename:String)->URL? {
if let directoryPath = FileManager().containerURL(forSecurityApplicationGroupIdentifier: appGroup) {
return directoryPath.appendingPathComponent(sharedFilename)
} else {
return nil
}
}
public func deleteFromSharedFile(sharedFilename: String, fileExtension: String)->String {
let sharedFilename = "\(sharedFilename).\(fileExtension)"
guard let url = getSharedFilePath(appGroup:applicationGroup,sharedFilename:sharedFilename) else {
return("Error getting shared file path")
}
// read file from file system to data variable
let fileManager = FileManager.default
do {
try fileManager.removeItem(atPath: (url.path))
return("File Removed")
}
catch let error as NSError {
return("File Remove Failed - \(error)")
}
}
这是我的表情符号应用程序的一些代码片段。
效果很好。
func removeImage(itemName: String, fileExtension: String) {
let fileName:String = itemName + "." + fileExtension
let fileManager = FileManager.default
guard let groupURL = fileManager.containerURL(forSecurityApplicationGroupIdentifier: "group.io.XXXXXX.XXXX") else {
return
}
let storagePathUrl = groupURL.appendingPathComponent("image/" + fileName, isDirectory: false)
let storagePath = storagePathUrl.path
do {
if fileManager.fileExists(atPath: storagePath) {
try fileManager.removeItem(atPath: storagePath)
}
} catch let error as NSError {
print(error.debugDescription)
}
}
"image"只是应用组子文件夹的名称。
如果您将文件直接保存在根文件夹中,您可以将其删除。
希望对你有帮助。
我有一个功能可以成功地将文件移动到共享应用程序组中,但是我删除该文件的功能似乎不起作用。如果我打印出 fullpath2 变量,它似乎是正确的位置,但文件没有被删除,也没有返回错误。
这是我的函数:
func getSharedFilePath(appGroup:String,sharedFilename:String)->URL? {
if let directoryPath = FileManager().containerURL(forSecurityApplicationGroupIdentifier: appGroup) {
return directoryPath.appendingPathComponent(sharedFilename)
} else {
return nil
}
}
public func deleteFromSharedFile(sharedFilename: String, fileExtension: String)->String {
let sharedFilename = "\(sharedFilename).\(fileExtension)"
guard let url = getSharedFilePath(appGroup:applicationGroup,sharedFilename:sharedFilename) else {
return("Error getting shared file path")
}
// read file from file system to data variable
let fileManager = FileManager.default
do {
try fileManager.removeItem(atPath: (url.path))
return("File Removed")
}
catch let error as NSError {
return("File Remove Failed - \(error)")
}
}
这是我的表情符号应用程序的一些代码片段。
效果很好。
func removeImage(itemName: String, fileExtension: String) {
let fileName:String = itemName + "." + fileExtension
let fileManager = FileManager.default
guard let groupURL = fileManager.containerURL(forSecurityApplicationGroupIdentifier: "group.io.XXXXXX.XXXX") else {
return
}
let storagePathUrl = groupURL.appendingPathComponent("image/" + fileName, isDirectory: false)
let storagePath = storagePathUrl.path
do {
if fileManager.fileExists(atPath: storagePath) {
try fileManager.removeItem(atPath: storagePath)
}
} catch let error as NSError {
print(error.debugDescription)
}
}
"image"只是应用组子文件夹的名称。
如果您将文件直接保存在根文件夹中,您可以将其删除。
希望对你有帮助。