iOSアプリ開発:プロジェクトで使うリソースファイルが読み込めない

投稿者: | 投稿日時: 2015/7/24 00:46 | 更新日時: 2021/1/1 18:13

Qiitaで書いていた記事をお引っ越ししてきました。
6293views、2LGTMありがとうございました。
今後はこちらで更新していきます。

現象

下記のように、シェーダーファイルを読み込ませようとした所、pathNameに値が入らずsourceにも値が入ってなかったです。

NSString *pathName = [[NSBundle mainBundle] pathForResource:@"Shader" ofType:@"vsh"];
const GLchar *source = (GLchar *)[[NSString stringWithContentsOfFile:pathName encoding:NSUTF8StringEncoding error:nil] UTF8String];
if (!source) {
  NSLog(@"Failed to load vertex shader");
  return;
}

調査

プロジェクトに[Shader.vsh]が追加されているのか確認。

プロジェクトナビゲータ上にファイルがあれば大丈夫。
※プロジェクトナビゲータの表示の仕方
 XcodeのView->Navigators->Show Project Navigator

無ければ、下記ページで紹介している方法で追加してください。
iOSアプリ開発:画像追加

リソースとしてコピーする対象ファイルに追加されているのか確認。

プロジェクトナビゲータの一番上に、青いアイコンがあるかと思います。
それを押下するとPROJECTとTARGETSが表示されるので、TARGETSの今回作業しているものを押下。
Build Phases->Copy Bundle Resources
にあるものは、リソースとしてアプリ内部から扱う事が出来るようコピーされます。
無いと扱う事が出来ません。

今回は、ここに[Shader.vsh]が無かったです。

対応

先ほどの[リソースとしてコピーする対象ファイルに追加されているのか確認。]で見た、Copy Bundle Resourcesの下に[+]があるので、それを押下し[Shader.vsh]を指定したら追加され、正常に動作するようになりました。

後、Compile Sourcesに[Shader.vsh]が追加されていたようなので、こちらは削除しました。

iOSアプリ開発:プロジェクトで使うリソースファイルが読み込めない」への1件のフィードバック

  1. ピンバック: 一覧:開発関連 – KittenKitten

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください