发现正在运行的应用程序的环境和相对路径

时间:2010-04-07 15:08:45

标签: objective-c ruby cocoa ruby-cocoa

在玩RubyCocoa的过程中,我不断推进自己对应用程序的想法。因为我的应用程序将使用配置文件,我想知道如何发现相对路径将这些存储在我的应用程序结构中(或者如果出现更好的想法,请详细说明“为什么“)。

我也很清楚要发现环境变量,例如操作系统版本,可用内存量等。超链接也很棒。

请注意我使用RubyCocoa并感谢您的反馈,意见和答案!

2 个答案:

答案 0 :(得分:2)

要在应用程序包内部访问,请使用NSBundle。见NSBundle reference。在Obj-C中,您使用+[NSBundle mainBundle]来获取应用程序的主要包。然后使用-[NSBundle pathForResource:ofType:]获取文件。我不知道RubyCocoa语法,但我假设你知道如何翻译它:)

如果配置文件是指用户可配置的东西,请记住您不能在运行时在应用程序包内写入。而是使用NSUserDefaults。请参阅User Defaults Guide

答案 1 :(得分:1)

这是我用来将所有环境变量写入控制台的一些Cocoa代码。同样,我不使用RubyCocoa,所以你必须翻译:

NSProcessInfo *myProcessInfo = [NSProcessInfo processInfo]; 
    NSDictionary *env = [myProcessInfo environment];
    for (id key in env)
    {
        NSLog (@"key: %@, value: %@", key, [env objectForKey: key]);
    }