Cocoa,输出当前App路径

时间:2013-05-11 16:20:24

标签: macos cocoa xcode4

我正在研究OS X应用程序。在代码中,我想将当前Mac OS App的路径输出到变量以供将来使用。所以后来我可以读取同一文件夹中的文件。谁能告诉我Xcode中的命令/方法?

非常感谢。

更新

更清楚的是,我正在使用xcode并创建一个cocoa-application。 我的应用程序与applescript连接,以控制Mac上的Mac软件读取文件。所以我必须返回文件'目录和名称。

其实我不知道该怎么做。所以卡在这里。

2 个答案:

答案 0 :(得分:2)

要获取应用程序的URL,您可以使用:

[[NSBundle mainBundle] bundleURL]

有关详细信息,请参阅NSBundle Class Reference

答案 1 :(得分:0)

我的5美分速降2分:

let path = Bundle.main.bundlePath
 print(path)
 

如果您需要通向REAL可执行文件的路径:(即,您将其传递给shell或类似文件。)

 let appName =  AppName()

 let exePath = path + "/Contents/MacOS/" + appName 

  print(exePath)

其中AppName()为:

func AppName()->String{
let bund = Bundle.main
//print(bund)
if let displayName = bund.object(forInfoDictionaryKey: "CFBundleDisplayName") as? String {
    if displayName.count>0{
        return displayName
    }
}

if let name = bund.object(forInfoDictionaryKey: "CFBundleName") as? String {
    return name
}
return "no AppName"

}