2012-03-08 10 views
0

私はしばらくの間、pathForResourceを使用していましたが、突然それが私を諦めてしまいました。 リソースにuntitled.objuntitled.mtlというファイルを追加しました。NSBundleがNULLを返す

copy bundle resources

、コードの2行以下:

NSString *path = [[NSBundle mainBundle] pathForResource:@"untitled" ofType:@"obj"]; 
NSLog(@"thePath = %@", path); 

を他のすべての*の.objファイルはuntitled.obj除いて、正常に動作。

私はそのファイルを使用するとNSLogからの出力は何もありません。何らかの理由でそれを見つけることができないと仮定します。

enter image description here

リソースもTEMPに位置しています。シミュレーションライブラリ:

enter image description here

+0

新しいファイルをどのように追加しましたか?それはターゲットに含まれていますか?プロジェクトのファイルを選択し、右側のインスペクタをチェックインします - あなたのターゲットはチェックされていますか? – jrturton

+0

@jrturtonでは、両方のファイルがターゲットのターゲットメンバーシップにあります。他のすべての* .objファイルと同じディレクトリにファイルを置き、他の* .objファイルをフォルダ内にドラッグしました。 – JavaCake

+0

新しいアップデート。私が見つけることができないリソースは、私もシミュレーションディレクトリに置かれているので、今はあまり意味がありません。 – JavaCake

答えて

1

デバイスからアプリケーションを削除し、シミュレータの内容と設定をリセットします。また、プロジェクトの派生データを削除します。それをやった後、もう一度試してみるとうまくいくはずです。

+0

私はアプリを削除し、コンテンツと設定をリセットしました。アプリシミュレーションファイルを削除しました。もう一度やり直してください。結果は同じです。 「派生データ」とはどういう意味ですか?ありがとうございました! – JavaCake

+1

**主催者**に移動し、**プロジェクト**タブを開き、プロジェクトを選択します。それが表示されている場合は、** Derived Data **と** Delete **ボタンが前面に表示されます。 – sch

-1

私はあなたの.plistファイルが必要だと思います。そこにバンドルの名前と識別子があります。

+0

私はあなたを完全に理解しているとは思わない。バンドル名/識別子を持つ* .plistファイルがすでにあります。 – JavaCake

+0

あなたのバンドルリソースに含まれていません –

+0

ターゲットがすでに* .plistファイルを初期化しているので、必要ではありません。 – JavaCake

0

すべてが正しいと思われます。後でスペースやその他の目に見えない文字を間違ってファイルに指定していないことを確認しましたか?完全に異なる名前(拡張子の変更を含む)を付けて名前を変更してみてください。