You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift查询App所在位置:Cocoa应用编译后当前目录为/

获取Cocoa App的安装路径(Swift)

嘿,这个问题我太熟了!你现在用fileManger.currentDirectoryPath拿到根目录/是很正常的——因为这个属性返回的是当前工作目录,而不是App的实际安装路径。运行编译后的App时,系统默认的工作目录就是根目录,哪怕关闭了沙箱也一样。

要获取你的App所在的位置,应该用Bundle.main来访问App的主Bundle信息,这才是正确的姿势!

替换你的代码试试:

@IBAction func showMeCurrentDIrector(_ sender: Any) {
    let mainBundle = Bundle.main
    
    // 两种格式可选:URL 或者 字符串路径
    let appLocationURL = mainBundle.bundleURL
    let appLocationPath = mainBundle.bundlePath
    
    // 显示字符串路径到Label
    lblShow.stringValue = appLocationPath
    print(type(of: appLocationPath))
    print(appLocationPath)
}

为什么这个能行?

  • Bundle.main指向当前运行的App的主资源包,它的bundleURL属性会返回App包的完整URL(比如file:///Applications/YourAppName.app/),bundlePath则是对应的字符串格式路径。
  • 不管你是在Xcode里运行,还是把App打包后放到Applications目录,这个方法都能准确拿到App的位置。

如果之后你需要访问App包内部的资源文件(比如图片、配置文件),也可以基于Bundle.main来获取,比如用mainBundle.path(forResource: "filename", ofType: "txt")这类方法。

内容的提问来源于stack exchange,提问作者Alisanie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:05:10