我正在使用macOS应用程序,只有在相关文件未在任何应用程序中打开的情况下,才需要从文件夹位置删除文件。例如-如果在TextEdit中打开了文件“ mydoc.txt”,则逻辑不会删除该文件。
我尝试使用lsof
,但是返回High Sierra所需的时间太多了,在指定了文件路径选项的i5 / 16Gb MacBook Pro上,大约需要20秒。其他人似乎也有类似的问题-参见this和this
stat
将为我提供文件访问和修改时间,但是如果该文件当前正在使用中,仍然没有提示。
此外,如果我执行FileManager.default.removeItem(atPath: path)
,即使在MS Word中打开文件,它也只会删除文件...!我没有发现任何异常,并且可以解决!
是否还有其他命令或方法可以找出使用任何Swift 4 API的方法,以了解文件是否正在使用/在任何应用程序中打开。