为啥 iOS 文件管理使用字符串(路径)和 URL 不一致? [关闭]

Posted

技术标签:

【中文标题】为啥 iOS 文件管理使用字符串(路径)和 URL 不一致? [关闭]【英文标题】:Why does iOS file management inconsistently use strings (paths) and URLs? [closed]为什么 iOS 文件管理使用字符串(路径)和 URL 不一致? [关闭] 【发布时间】:2017-10-26 23:58:36 【问题描述】:

所以在使用文件管理器时,我经常遇到只接受 URL 的方法(例如构建目录)和其他只接受字符串的方法(例如删除文件)。

为什么 NSFileManager 没有标准化其中之一?根据所使用的方法不一致地使用其中一种有什么意义?

【问题讨论】:

是的,有一些基于路径的删除文件的方法(因为,如下所示,这是我们过去的做法),但现在也有 URL methods for removing files,您现在应该使用它,除非您支持早于 URL 再现的操作系统版本。 我认为这是一个公平的问题,并且不是基于意见的。基于字符串和基于 URL 的文件系统命令的原因是历史性的。 【参考方案1】:

这是一个历史问题。较旧的方法适用于路径。随着时间的推移,Apple 已迁移到基于 URL 的方法。一些较新的函数仅支持 URL。

事实上,在 Mac OS 中,它是一种时髦的沙盒形式,除非用户选择它们,否则不允许应用访问目录,您必须使用基于 URL 的方法,因为 URL 已嵌入基于字符串的方法缺少的用户权限信息。

【讨论】:

以上是关于为啥 iOS 文件管理使用字符串(路径)和 URL 不一致? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

为啥隐藏了诸如 index.html 之类的 URL 的“路径”?

为啥小程序没有页面路径

iOS - 为啥相同的资产有不同的资产URL?

从本地文件或 url 打开一个 IO 流

IOS:url目录路径中的文件

为啥在我的 Flutter Web 上使用路径 URL 策略会破坏我的导航?