ファイルがありますpaylines.txt
は、Xcodeの私のiOSプロジェクトのTextFiles
フォルダー内にあるResources
という名前のフォルダー内に追加されました。
これは、ファイルにアクセスするために使用するコードです。
NSString* filePath = [[NSBundle mainBundle] pathForResource:@"paylines" ofType:@"txt" inDirectory:@"TextFiles"];
NSLog(@"\n\nthe string %@",filePath);
コードは次を印刷します。
2011-06-07 14:47:16.251 slots2[708:207]
the string (null)
まあ私は私がコミットしていた間違いを見つけました私はより多くのために実際のディレクトリを追加する代わりにプロジェクトにグループを追加していました instructions
私も同じ問題を抱えていました。私が見つけた解決策は(xcode 4.xで)です:
移動:ターゲット-> "ビルドフェーズ"-> "バンドルリソースのコピー"次に、その特定のファイルをここに追加します。そのファイルが既に追加されている場合は、削除して再度追加します。
プロジェクトをクリーンアップして実行します。動作します。 :)
これを試してください、それは私のために働いています。
NSString *str = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"paylines.txt"];
シミュレーター用
NSURL *rtfUrl = [[NSBundle mainBundle] URLForResource:@"paylines" withExtension:@".txt"];
ファイルをドラッグすると、デフォルトで「ターゲットに追加」ボックスがチェックされていないようです。チェックを外したままにしておくと、問題が説明されます。ファイルを削除してからドラッグして戻しますが、「ターゲットに追加」にチェックを入れて修正します。
XCTest内でラップトップを破壊しようとしていますか?これはあなたのためのスレッドです: なぜユニットテスト内のコードがバンドルリソースを見つけられないのですか?
Mac OSXの場合、
[ターゲット]-> [ビルドフェーズ]に移動し、[+]をクリックして新しいファイルをコピーします。ビルドフェーズ製品ディレクトリを選択し、そこにファイルをドロップします。
プロジェクトをクリーンにして実行します。
@Neelam Vermaの回答または@Neelam Vermaの回答と同じ最終結果を持つ@dawidの回答をフォローした後、@ dawidの回答はXcodeプロジェクトへのファイルのドラッグアンドドロップで始まり、@ Neelam Vermaの回答はファイルがすでにXcodeプロジェクトの一部であるにもかかわらず、NSBundle.mainBundle().pathForResource("file-title", ofType:"type")
を取得してビデオファイルを見つけることができませんでした。
Xcodeプロジェクトにネストされたグループにファイルがあるので、これが原因であると考えたので、ビデオファイルをXcodeプロジェクトのルートに移動しました。
guard let path = NSBundle.mainBundle().pathForResource("testVid1", ofType:"mp4") else {
print("Invalid video path")
return
}
元々、これは私のファイルの名前でした:testVid1.MP4
、ビデオファイルの名前をtestVid1.mp4
は私の問題を修正したので、少なくともofType
文字列引数は大文字と小文字が区別されます。
[ターゲット]-> [ビルドフェーズ]に移動し、ターゲットを選択し、[ビルドフェーズ]タブを選択して、[ビルドフェーズの追加]をクリックし、[コピーファイルの追加]を選択します。宛先を「製品ディレクトリ」に変更します。ファイルを「ファイルの追加」セクションにドラッグします。
プロジェクト/特定のフォルダーを選択->右クリック->プロジェクトにファイルを追加->追加するファイルを選択します。
これは私のために働いた。