如何在 swift 中使用 fileManager.unmountVolume
Posted
技术标签:
【中文标题】如何在 swift 中使用 fileManager.unmountVolume【英文标题】:how to use fileManager.unmountVolume in swift 【发布时间】:2018-04-03 21:23:33 【问题描述】:我正在尝试快速弹出/卸载 USB 驱动器 我想我必须使用 fileManager.unmountVolume
let urlString = "/Volumes/UNTITLED/".addingPercentEncoding(withAllowedCharacters: .urlUserAllowed)
let url = URL(string: urlString!)
fileManager.unmountVolume(at: url!, options: FileManager.UnmountOptions.init(), completionHandler: (_) in)
如果没有插入驱动器,我没有输出,但是如果插入了驱动器,我得到CFURLCopyResourcePropertyForKey failed because it was passed an URL which has no scheme
【问题讨论】:
【参考方案1】:urlString
不是 URL 字符串——它是文件系统路径。使用 URL(string:)
从中创建 URL 会导致 URL 不完整。
改用the URL(fileUrlWithPath:)
constructor 创建file://
URL。 (在将路径传递给此函数之前,您无需对路径进行百分比编码。)
【讨论】:
谢谢,只是为了清楚这段代码是否正确?fileManager.unmountVolume(at: URL(fileURLWithPath: "/Volumes/UNTITLED"), options: FileManager.UnmountOptions.init(), completionHandler: (_) in)
以上是关于如何在 swift 中使用 fileManager.unmountVolume的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 4 中修改 fileManager url 以指向另一个目录
FileManager MoveItem 回调 - Swift
FileManager.default.contentsOfDirectory 在 swift 3 中失败
使用 Swift 的 FileManager 遍历文件夹及其子文件夹中的文件