【发布时间】:2011-12-24 01:38:47
【问题描述】:
我是 Cocoa 编程和 Xcode 的新手。我想知道如何使用 MainMenu.nib(或 .xib)文件设置环境(或设置环境变量)。我在主函数中有别人的代码是这样的:
[NSApplication sharedApplication];
[NSBundle loadNibNamed:@"MainMenu" owner: NSApp];
第二行之后,可以得到一个环境变量:
if (!getenv("R_HOME")) {
fprintf(stderr, "R_HOME is not set.\n");
return -1;
}
我想知道如何在 Xcode 3 的最新版本中构造一个 nib(或 xib)文件,例如 MainMenu.xib,以便它可以用于 setenv。我做的一件事是在不使用 nib 文件的情况下编写 setenv 代码:
setenv("R_HOME", "/Library/Frameworks/R.framework/Resources", 1)
但是,当我通过双击 xxx.app 执行 Cocoa GUI 编程时,这不起作用,尽管当我执行程序的命令行版本时它起作用。因此,似乎我需要一种在启动 Mac GUI 应用程序时设置环境变量的方法。我见过其他设置环境变量的方法,但我想知道如何使用 nib(或 xib)文件设置环境变量,并使用 NSBundle 的 loadNibNamed 方法加载它。
【问题讨论】:
标签: xcode cocoa nsbundle getenv loadnibnamed