2012-04-02 19 views
0

私は実際のフォルダを私のアプリケーションプロジェクトに入れました。私はそのフォルダの内容を取得したいと思います。私は以下のコードを試しましたが、それは常に私のコンピュータ上の私のホームディレクトリに私を送ります。あなたはどのようにあなたのアプリのルートレベルになるのですか?bundleAtPathは私に間違ったパスを与えます

NSArray *test = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:[[NSBundle bundleWithPath:@"/test"] bundlePath] error:nil]; 

NSLog(@"%@", test); 
+0

明確にするために、あなたのアプリケーションのメインバンドルにサブディレクトリ 'tests'を置くつもりですか?それとも、本当に別のバンドルを持っていたいのですか? – FluffulousChimp

答えて

2

あなたのアプリのバンドルは[NSBundle mainBundle]です。あなたのコードの例以下のディレクトリへのパスは次のとおりです。

[[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"test"] 
+0

私はアプリケーションを作成した後、私はこのフォルダにファイルを置くことができますか?私が尋ねるのは、アプリケーションが遵守されれば、メインバンドルにファイルを置くことができないと聞いたからです。 –

+0

通常、アプリケーションはバンドルを変更しないでください。不可能*ではなく、問題を引き起こす可能性があります。後で追加するフォルダが必要だが、ユーザーから隠されている場合は、「アプリケーションサポート」の下にアプリケーション用のフォルダを作成します。これはアプリケーションまたはバンドルIDの後に名前を付け、フォルダ内に作成する必要があります。バンドルに保存されているこのフォルダの初期の内容でアプリケーションを出荷し、最初に実行するときにアプリケーションサポートフォルダにコピーすることができます。 – CRD

+0

私は最初にいくつかのコンテンツを入れ、どこにアプリをインストールしたらコンテンツを追加できるのかというフォルダが必要ですか? –

2

用途:その後、

NSString* path = [[NSBundle mainBundle] bundlePath]; 

と、例えば、適切なサブディレクトリを設定します

path = [path stringByAppendingPathComponent:@"directory"]; 
関連する問題