В настоящее время я работаю непосредственно с Cocoa, чтобы создать экранную заставку. Теперь я столкнулся с проблемой при попытке загрузить ресурсы из пакета .saver
. У меня в основном есть небольшой класс оболочки C++ для загрузки .exr
файлов с использованием freeImage
. Это работает до тех пор, пока я использую пути absoulte, но это не очень полезно, не так ли? Итак, в основном, я пробовал все: поместив файл .exr
на уровень самого пакета .saver
, внутри папки «Ресурсы» и т. Д.Использование относительных путей для загрузки ресурсов в Cocoa/C++
Тогда я просто пытался загрузить .exr
, как это, но без успеха:
particleTex = [self loadExrTexture:@"ball.exr"];
Я также попытался сделать это пойти в место .saver
пучках, как это:
particleTex = [self loadExrTexture:@"../../../ball.exr"];
... возможно, загрузить .exr
из этого места, но безуспешно.
Затем я наткнулся на это:
NSString * path = [[NSBundle mainBundle] pathForResource:@"ball" ofType:@"exr"];
const char * pChar = [path UTF8String];
... который, кажется, общий способ найти ресурсы в какао, но по какой-то причине он пуст в моем случае. Есть идеи по этому поводу? Я действительно пробовал все, что пришло мне в голову, без успеха, поэтому я был бы рад кое-чему добавить!
Хорошо, я только что нашел, что NSString * path = [[NSBundle mainBundle] bundlePath]; указывает мне на экранную заставку ScreenSaver.app, поэтому я думаю, что ресурсы должны быть относительно этого? как бы я это сделал? – moka