ios - 用户可以直接从 iOS 访问文件吗?

标签 ios swift permissions filesystems

我是 iOS 开发的初学者。

我通过查看创建文件的示例来复制此内容。

   override func viewDidLoad() {
        super.viewDidLoad()

        let fileName = "Test"
        let DocumentDirURL =  try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
        let fileURL = DocumentDirURL.appendingPathComponent(fileName).appendingPathExtension("")

        let writeString = "write test sting"
        do {
            try writeString.write(to: fileURL, atomically: true, encoding: String.Encoding.utf8)
        } catch _ as NSError {
            print("write error")
        }
    }

我的问题是我当前的代码正在文档目录中创建并保存文件。

  1. 用户可以亲眼看到该文件吗?
  2. 还有什么需要我获得执行权限的吗 这段代码?

这是旧的 Swift 代码。如果有更好的代码,请推荐给我。请多多帮助我。预先感谢您。

最佳答案

这将创建您想要保存的目录的路径

 let fileManager = NSFileManager.defaultManager()

    let urls = fileManager.URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)

    if let documentDirectory: NSURL = urls.first as? NSURL {
        // This is where the database should be in the documents directory
        let finalDatabaseURL = documentDirectory.URLByAppendingPathComponent("items.db")

        if finalDatabaseURL.checkResourceIsReachableAndReturnError(nil) {
            // The file already exists, so just return the URL
            return finalDatabaseURL
        } else {
            // Copy the initial file from the application bundle to the documents directory
            if let bundleURL = NSBundle.mainBundle().URLForResource("items", withExtension: "db") {
                let success = fileManager.copyItemAtURL(bundleURL, toURL: finalDatabaseURL, error: nil)
                if success {
                    return finalDatabaseURL
                } else {
                    println("Cant found!")
                }
            } else {
                println("Couldn't find !")
            }
        }
    } else {
        println("Couldn't get documents directory!")
    }

关于ios - 用户可以直接从 iOS 访问文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57780739/

相关文章:

ios - 如何强制我的 View Controller 始终以纵向模式打开

swift - 是线程 1 : signal SIGABRT always a connection issue (cgimagedestinationfinalize)

c# - 通过 C# 连接到 SQL Server 2008 数据库

amazon-web-services - AWS S3 - 编辑存储桶策略的权限

linux - linux下找不到别人的主目录

ios - 自动调整蒙版无法单击中心箭头

ios - Self.Type 不能在 swift 中直接转换为 AnyClass 以扩展到 objective-c 类

ios - 更改 rootviewcontroller 后快速导航 Controller 返回 nil

ios - Interface Builder 文件中的未知类 <myClass>

ios - 对 arc4random() 施加限制?