pathForResource возвращает ошибочный ноль - PullRequest
1 голос
/ 02 июля 2011

У меня проблемы с добавлением моих файлов shader-glsl из одного проекта xcode в другой. Я полностью запутался в этот момент, так как я не могу найти путь к файлам, которые я просто перетаскиваю в xcode. Я много раз проверял орфографию "покажи в поиске" и все еще имею проблему ...

Вот мой пример файлов, которые я добавил в xCode, я даже не помещал их в подкаталоги, чтобы исключить любые проблемы с ними: Screenshot

Теперь мой код:

    NSLog(@"Filepath of Tools-image: %@",[[NSBundle mainBundle] pathForResource:@"tools" ofType:@"png"]);
    NSLog(@"Filepath of mo-tut is: %@",[[NSBundle mainBundle] pathForResource:@"mo" ofType:@"tut"]);
    NSLog(@"Filepath of FragShader-fsh is: %@",[[NSBundle mainBundle] pathForResource:@"fragshader" ofType:@"fsh"]);

Во время выполнения я получаю этот вывод:

2011-07-02 02:03:33.516 windowconfig[16192:707] Filepath of Tools-image: /var/mobile/Applications/BC82AD2C-B8B9-4751-80A2-31EC5ACEC9C2/windowconfig.app/tools.png
2011-07-02 02:03:33.526 windowconfig[16192:707] Filepath of mo-tut is: /var/mobile/Applications/BC82AD2C-B8B9-4751-80A2-31EC5ACEC9C2/windowconfig.app/mo.tut
2011-07-02 02:03:33.531 windowconfig[16192:707] Filepath of FragShader-fsh is: (null)

Пожалуйста, у кого-нибудь есть идеи по этому поводу?

РЕДАКТИРОВАТЬ: "tools.png" в настоящее время является значком, который я использую на панели вкладок, он находится в подпапке в ресурсах и был просто тестом для сравнения. Если вам, ребята, интересно, почему я не открыл путь к другому файлу на скриншоте.

РЕДАКТИРОВАТЬ 2: Я использовал "Чистый", как сумасшедший в последние два часа. «fragshader.fsh», по-видимому, не копируется в пакет «windowconfig.app», хотя я добавил его в проект так же, как я добавил «mo.tut», и этот пакет находится в пакете. Как я могу гарантировать, что он будет скопирован?

РЕДАКТИРОВАТЬ3: Целевое членство проверяется в Инспекторе для обоих файлов, но шейдер не копируется.

Решение:

На этапах целевой сборки файл не был в списке «копировать файлы в пакет». Я добавил его вручную, но все же странно, что он не был добавлен автоматически после добавления файла в проект.

1 Ответ

2 голосов
/ 02 июля 2011

Вы убедились, что fragshader.fsh находится в шаге копирования файлов? (т.е. удостоверился, что это фактически присутствует в результирующем комплекте приложений).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...