将文件写入文档目录和权限

6 permissions documents ios swift

我在此处红色此代码示例的注释:

https://www.hackingwithswift.com/example-code/strings/writetofile-how-to-save-a-string-to-a-file-on-disk

// failed to write file – bad permissions, bad filename, missing permissions, 
    or more likely it can't be converted to the encoding
Run Code Online (Sandbox Code Playgroud)

我尝试了该代码,它无需请求任何许可即可在设备上运行。我在文档中找不到任何有用的东西。

所以,我的问题是:作者在谈论什么权限(坏的缺失的)?我是否需要特殊权限才能写入应用程序文档目录?

Luk*_* In 7

不,您的应用程序不需要此类特殊权限,但确实存在应用程序可能无法写入文件的情况。

一个示例是,如果您的应用对其文件使用磁盘保护,并且您尝试在磁盘加密时写入文件夹。其他例子是:

  1. 磁盘已满。
  2. 该文件正在由不同的进程写入(即,您正在后台 URLSession 中向其下载内容)。
  3. 路径包含一些无效字符(例如“:”)。

如果确实发生了错误,通常可以通过检查错误来确定原因。

该注释似乎是一个通用占位符,指示在写入文件时收到错误的一些可能原因,因此如果您要使用代码并遇到错误情况,您将有一些地方可以开始。

文档是指当有疑问的好地方。

  • @ian-bell 值得注意的是,iOS 上的 *documents* 目录不像 Mac 上那样是共享资源。每个应用程序都有自己的沙盒容器,其中包含可以写入的子目录 - 文档目录只是其中之一。修改这些目录中的文件不会影响应用程序之外的任何内容。 (2认同)