如何在Cocoa中读取环境变量?

时间:2012-07-18 21:01:59

标签: objective-c cocoa

我怎样才能读取用户设置的环境变量?

我是Mac(可可)桌面开发的新手,我正在构建一个可用于访问亚马逊s3服务的小工具。

我在.bash_profile中设置了环境变量,但无论用户输入的位置如何(.bashrc,.bash_profile或.profile等),我都希望它能够正常工作。

2 个答案:

答案 0 :(得分:17)

查看NSProcessInfo上的environment方法。它返回环境的NSDictionary,例如for PATH

NSString* path = [[[NSProcessInfo processInfo]environment]objectForKey:@"PATH"];

答案 1 :(得分:5)

您可以使用GNU库中的C API http://www.gnu.org/software/libc/manual/html_node/Environment-Access.html#Environment-Access

转换为NSString: 现代对象:

NSString *envVarString = @(getenv("__MY_ENV_NAME__"));

遗产obj-c:

NSString *envVarString = [NSString stringWithUTF8String: getenv("__MY_ENV_NAME__")];