我为 Mac OS 开发了一个 Swift 程序,并将该程序和数据放入一个USB中。当我将USB插入Mac时,打开USB文件夹并运行该程序,该程序将读取USB中的数据,但是我不知道如何在程序中获取数据路径。
在Windows C#中,我可以使用以下命令:
String programPath = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
to get the program path(ex. F:\), and then I can use the path to get the data path(ex. F:\Data).
有人知道如何在Swift中做同样的事情吗?
答案 0 :(得分:3)
您使用以下方式获取可执行文件的路径
let programPath = Bundle.main.executablePath
或捆绑包本身的路径
let bundlePath = Bundle.main.bundlePath
但这是包中可执行文件或包中可执行文件的路径,而不是封闭卷。
要获取封闭卷,请使用与URL相关的API
let bundleURL = Bundle.main.bundleURL
let parentVolumeURL = try! bundleURL.resourceValues(forKeys: [.volumeURLKey]).volume