В C ++ я получал путь к приложению без имени приложения в конце, говоря:
std::string dir = dirname(argv[0]);
и это работало без проблем, но когда я планировал использовать какао, он сказал:
ошибка: ‘argv’ не был объявлен в этой области, и теперь я потерян, я попробовал:
NSArray *args = [[NSProcessInfo processInfo] arguments];
std::string dir = dirname(args);
но без удачи, пожалуйста, помогите мне, ребята!
PS: я изменил файлы с .m на .mm уже на тот случай, если вы хотите знать
Вот как вы получаете путь к приложению:
[[NSBundle mainBundle] bundlePath];
Вместо того чтобы сказать
std::string dir = dirname(args);
попробуйте следующее:
NSArray *args = [[NSProcessInfo processInfo] arguments];
NSString* arg0 = args[0];
std::string dir = dirname([arg0 fileSystemRepresentation]);
надеюсь, это поможет