Environment variable for application storage under OSX ?
Jacob Carlborg via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Fri Jul 17 05:56:30 PDT 2015
On 2015-07-16 23:12, anonymous wrote:
> I have the following code, working under Win and Linux:
>
> ---
> import std.process: environment;
>
> immutable string p;
>
> static this() {
> version(Win32) p = environment.get("APPDATA");
> version(linux) p = "/home/" ~ environment.get("USER");
> version(OSX) p = "?";
> }
> ---
>
> what would be the OSX equivalent (to get the path where the applications
> data are commonmly stored)?
They are usually defined as constants in Objective-C. You can read more
about it here [1][2][3].
You can also use the CoreServices framework which has a C API [4]. But I
think it's deprecated and the preferred way is to use the Objective-C API's.
[1]
https://developer.apple.com/library/mac/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/AccessingFilesandDirectories/AccessingFilesandDirectories.html#//apple_ref/doc/uid/TP40010672-CH3-SW3
[2]
https://developer.apple.com/library/mac/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/AccessingFilesandDirectories/AccessingFilesandDirectories.html#//apple_ref/doc/uid/TP40010672-CH3-SW11
[3]
https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Miscellaneous/Foundation_Constants/index.html#//apple_ref/c/econst/NSApplicationSupportDirectory
[4]
http://stackoverflow.com/questions/5123361/finding-library-application-support-from-c
--
/Jacob Carlborg
More information about the Digitalmars-d-learn
mailing list