Почему вы должны сделать это? Если вы действительно хотите установить переменные среды в вашем приложении, выполните следующие действия:
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"];
и т.д.
Я ценю тирады. Я новичок в Mac и рад получить совет. – JJ3