gpt4 book ai didi

objective-c - NSTask setLaunchPath Objective-C Cocca

转载 作者:行者123 更新时间:2023-12-03 17:00:09 25 4
gpt4 key购买 nike

这是一个非常简单的问题。我在与 Cocoa 应用程序相同的文件夹中有一个脚本。我似乎无法为 NSTasksetLaunchPath 正确设置其路径。请帮忙。

我有一个名为 Project 的文件夹。在它的内部,存在多个文件夹,但我们只关心两个:Classes(Cocoa 应用程序的源文件位于此处)和 Ruby(这是一个 ruby​​ 服务器文件夹)。我正在尝试调用 Ruby/script/server。我认为它会类似于 ./Ruby/script/serverRuby/script/server 但两者都是错误的。

谢谢。

编辑:我想我实际上要问的是是否有一种方法可以使用特殊字符或快捷方式访问源文件或项目所在的文件夹,因为默认情况下它会转到 /tmp 文件夹。

最佳答案

应用程序中的当前目录(unix 意义上的)不保证是任何内容。可以通过获取主应用程序包来获取应用程序本身的路径

NSBundle*mainBundle=[NSBundle mainBundle];

然后获取其路径

NSString*path=[mainBundle bundlePath];

但是请不要这样做;如果没有额外的说明将文件放在各处,您将无法分发您的应用程序。相反,请将 Ruby 代码放入 yourApp.app/Contents/Resources/ 中。这可以通过将 Ruby 代码包含在 XCode 中并确保将其设置为复制到应用程序中来完成。 Resources目录下的文件可以通过如下方式获取:

NSString*path=[mainBundle pathForResource:@"rubyServer" ofType:@"rb"];

要了解有关 bundle 结构的更多信息,请阅读 Bundle Programming Guide .

关于objective-c - NSTask setLaunchPath Objective-C Cocca,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3208945/

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