ユーザーが設定した環境変数を読み取るにはどうすればよいですか?
Mac (cocoa) でのデスクトップ開発は初めてで、Amazon の s3 サービスにアクセスするために使用できる小さなツールを作成しています。
環境変数を .bash_profile に設定しましたが、ユーザーが入力した場所 (.bashrc、.bash_profile、.profile など) に関係なく、これを機能させたいと考えています。
ユーザーが設定した環境変数を読み取るにはどうすればよいですか?
Mac (cocoa) でのデスクトップ開発は初めてで、Amazon の s3 サービスにアクセスするために使用できる小さなツールを作成しています。
環境変数を .bash_profile に設定しましたが、ユーザーが入力した場所 (.bashrc、.bash_profile、.profile など) に関係なく、これを機能させたいと考えています。
NSProcessInfoの環境メソッドを見てください。環境の NSDictionary を返すため、たとえば PATH の場合
NSString* path = [[[NSProcessInfo processInfo]environment]objectForKey:@"PATH"];
GNU ライブラリの C API を使用できます http://www.gnu.org/software/libc/manual/html_node/Environment-Access.html#Environment-Access
NSString への変換: 最新の obj-c:
NSString *envVarString = @(getenv("__MY_ENV_NAME__"));
従来の obj-c:
NSString *envVarString = [NSString stringWithUTF8String: getenv("__MY_ENV_NAME__")];