objective-c - 如何删除具有权限的文件

标签 objective-c swift macos cocoa nsfilemanager

我需要从我的应用程序中删除一个文件,我使用下面的代码得到了错误**

couldn’t be removed because you don’t have permission to access it.

**

let fileManager = NSFileManager()
                        do {

                            let attr : NSDictionary? = try NSFileManager.defaultManager().attributesOfItemAtPath(NSURL(string: fileModule.filepath)!.path!)

                            if let _attr = attr {
                                let newsize : UInt64 = fileSize
                                fileSize = _attr.fileSize() + newsize;
                            }
                            try fileManager.removeItemAtURL(NSURL(string: fileModule.filepath)!)

                        } catch let error as NSError {
                            print("Error: \(error.localizedDescription)")
                        }

如何删除具有权限的沙箱启用状态的文件?

最佳答案

通常,沙盒应用程序要访问文件以进行读取、写入或删除,必须获得用户的许可。在您的情况下,您可以使用标准文件打开对话框,如果您愿意,您可以将其自定义为“请求访问权限”对话框。如果您的用户选择了该文件,并且可以使用对话框的自定义来帮助他们执行此操作,则您可以使用返回的 NSURL 来删除该文件。要使用文件打开对话框,您必须为您的应用程序授予适当的权利。

如果您需要的话,SO或更广泛的搜索应该会出现示例代码。

HTH

关于objective-c - 如何删除具有权限的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33877772/

相关文章:

c++ - 如何确定我正在编译的 MacOS 版本?

ios - 您如何在 Storyboard 中获取 UISearchbar 的结果并在另一个视点中使用这些结果?

ios - 如何向添加到 tableview 单元格的减号图像添加可访问性标签?

ios - 使用 Stripe 和 Parse 存储信用卡。没有方法每个错误

ios - 向玩家添加观察者时出错

ios - 如何在 swift 中全局声明 UIView?

swift - MacOS Playground : How can change the background color?

ios - 为什么 UITextField 作为自定义 UITableViewCell 的 subview 会抑制父 UITableView 的滚动?

变量/范围的 Swift Looping 持久性

ios - iPhone 中的 .DS_Store 文件