gpt4 book ai didi

cocoa - 如何以编程方式查找 OS X 应用程序包的驻留目录

转载 作者:行者123 更新时间:2023-12-03 16:24:28 25 4
gpt4 key购买 nike

我有一个 OS X 应用程序作为 .app 包,可以驻留在任何文件系统中的任意位置。有没有办法找到以编程方式获取包的当前路径。

注意

getcwd() 不起作用,因为所有包的当前目录都已打开通过单击打开或使用打开命令是“/”。如果我调用可执行文件从 myapp.app/Contents/MacOS ,目录显示正确。这是一个 cocoa 应用程序。

有什么线索吗?

最佳答案

您应该能够通过 [[NSBundle mainBundle] bundleURL]; 找到 .app 的位置或[[NSBundle mainBundle] bundlePath]; .

但是,您可能希望通过 NSBundle 访问 .app 内的资源在大多数情况下找到它们(这涉及本地化等问题)。

注意:如果您计划修改应用程序包; 不要。您不应该、不能也决不能假设您拥有应用程序包的写入权限;如果你这样做了,很可能出了什么问题。

编辑:作为一个兴趣点,如果您正在 OS X 上编写 C 程序并且需要查找可执行文件的位置;您可以使用不可移植的主声明,如下所示:

int main (int argc, const char *argv[], const char *env[], const char *path[]) {
// path[0] now contains the path to the executable
// NOT PORTABLE! OS X ONLY!
return 0;
}

关于cocoa - 如何以编程方式查找 OS X 应用程序包的驻留目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4087328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com