2014-02-24 6 views
0

여기에 제가 작업중인 코드가 있습니다.pathForResource ofType은 nil을 반환합니다.

NSString* path = [[NSBundle mainBundle] pathForResource:@"file" ofType:@"plist"]; 

if(path == nil) 
{ 
NSLog(@"file not found"); 
} 

실행할 때 콘솔에서 찾을 수없는 파일이 인쇄됩니다.

내 file.plist는 내 코코아 프로젝트의 지원 파일 폴더에 있습니다. mainBundle은 정확히 어디에 파일을 찾습니다. 이것은 나를 꽤 비틀 거리고있다. 나는 그것이 .app 파일을 찾는다는 것을 알게되었지만, 애플리케이션을 개발할 때 doe mainBundle이 어디서 볼 것인가?

답변

2

pathForResource:ofType:Resources 폴더 (및 현지화 된 폴더) 만 찾습니다. 번들의 전용 폴더에 파일을 저장하려면 pathForResource:ofType:inDirectory:을 사용하고 디렉토리 이름을 제공해야합니다.

+0

내 프로젝트의 파일에 대한 로컬 경로로 inDirectory 경로를 사용하여 피곤했습니다. NSString * path = [[NSBundle mainBundle] pathForResource : @ "file"ofType : @ "plist"inDirectory : @ "/ 사용자/joshuablevins/문서/Xcode/자습서/plist tut/plist tut "]; 그러나 여전히 파일을 찾을 수 없다고합니다. –

+0

'inDirectory :'당신은 전체 경로가 아닌 번들 (지원 파일 폴더 이름)에 폴더 이름을 전달하기 만하면됩니다. 복사 항목 빌드 단계에서 설정 한 폴더 이름이어야합니다. – Wain

+0

파일에 대한 완전한 경로가있는 경우 일반적으로 번들에 포함되어 있지 않으며 NSBundle을 사용하여 액세스하지 않습니다. – Wain