使用Swift在OSX中安装或卸下磁盘时如何获得通知

时间:2019-05-18 23:09:59

标签: swift macos

我正在编写一个简单的Mac应用程序,该应用程序使用Swift处理可移动磁盘上的文件,我需要确定是否弹出或插入了可移动磁盘,以便刷新UI中的可用磁盘列表。

我似乎看不到一种明显的方法。似乎FSEvents可以监视文件更改,但是从根级别进行监视将对应用程序造成极大的破坏,只是为了确定是否已插入(或通过Finder)新磁盘。

我还尝试使用NSFilePresenter监视/ Volumes /路径,但似乎没有任何通知。

class ViewController: NSViewController, NSFilePresenter {
    var presentedItemURL: URL? = URL(fileURLWithPath: "files:///Volumes/")
    var presentedItemOperationQueue: OperationQueue = OperationQueue.main

    private func presentedSubitemDidChangeAtURL(url: NSURL) {
        print("Change file noticed in URL: \(url)")
        let pathExtension = url.pathExtension
    }
    ..

0 个答案:

没有答案