Зачем вам это нужно?Если вы действительно хотите установить переменную среды в своем приложении, сделайте следующее:
NSString* expanded=[@"~/myappname" stringByExpandingTildeInPath];
setenv("MYAPPDIR",[expanded UTF8String],1);
, пожалуйста, не обращайте внимания на следующие ранты, если вы действительно хотите установить переменную среды., никогда не заставляет пользователя помещать ваше приложение в определенную директорию.
Кроме того, никогда не сохраняет файл в видимом для пользователя, не настраиваемом пользователем месте .
В OS X приложения превращаются в .app
пакеты, чтобы пользователь мог свободно перемещать их.
Если вам нужно получить текущую позицию приложения, просто используйте
NSString*appPath=[[NSBundle mainBundle] bundlePath];
Если вы хотите сохранить большой файл где-нибудь, создайте каталог внутри ~/Library/Application Support/
с именем
~/Library/Application Support/yourappname/
и сохраните файлы внутри.Если вам просто нужно сохранить несколько данных, используйте NSUserDefaults .Он автоматически сохраняет данные в
~/Library/Preferences/com.yourcompany.yourapp.plist
и повторно загружает контент при повторном запуске приложения.Просто сделайте
[[NSUserDefaults standardUserDefaults] setObject:@"boo" forKey:@"bar"];
и восстановите после перезапуска вашего приложения, используя
NSString* boo=[[NSUserDefaults standardUserDefaults] stringForKey:@"bar"];
и т. Д.