2012-04-02 3 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"]; 
관련 문제