Если бы вы использовали Objective-C, то стандартный способ открыть файлы был бы что-то вроде:
// get the path to the shader file, without having to duplicate logic about
// how the bundle is laid out from the OS
NSString *pathToShader = [[NSBundle mainBundle] pathForResource:@"Shader"
ofType:@"Frag"];
// load the source from pathToShader by whatever means... probably you'd
// actually get a file URL above and use the relevant NSString method,
// but that's not necessarily helpful here
Таким образом, вы явно попросите операционную систему указать путь к вашему файлу, если он находится в основном комплекте (приложении).
Вместо этого вы, похоже, предполагаете, что текущий рабочий каталог настроен на область ресурсов в комплекте (что в iOS такое же, как путь к исполняемому файлу, но в OS X отдельно), чего я не делаю думаю гарантировано где угодно.
Предполагая, что у вас есть некоторый код Objective-C для настройки соответствующего UIKit, прежде чем вы перейдете на C ++, вы, вероятно, захотите добавить что-то вроде:
[[NSFileManager defaultManager]
changeCurrentDirectoryPath:[[NSBundle mainBundle] resourcePath]];
Чтобы установить, что вы хотите, чтобы основной пакет размещал свои ресурсы в качестве текущего рабочего каталога.