2014-11-12 3 views
0

[NSBundle MainBundle] pathForResource (inDirectory 사용 여부와 관련하여)에 대한 몇 가지 질문을 보았지만 제 경우가 다르게 보입니다.NSBundle pathForResource가 하위 디렉토리 현지화에 작동하지 않습니까?

내 문제는 : 예, 지역화되지 않은 경우 하위 디렉토리의 모든 파일에 적합합니다. 나는 그러나

[[NSBundle mainBundle] pathForResource:@"words.txt" ofType:nil inDirectory:@"data/a"] 

를 사용할 때 나는 words.txt 지역화 된 후 예를 들어,이 파일 data/a/words.txt에 대한 올바른 경로를 반환의 실제 경로가된다 가정 해 봅시다 : data/a/en.lproj/words.txt, 그럼 위의 코드는 더 이상 경로를 찾을 수 없습니다.

.app 패키지에서 파일을 검사했는데 파일이 올바른 경로 (data/a/en.lproj)에 복사되었는데 코드가 찾을 수 없습니다.

내가 엑스 코드 사용하고 5.1.1

자동으로 텍스트를 찾을 안 pathForResource 있습니까?

+0

빌드 할 때/엑스 코드에서 가끔 오래된 파일은 그들의 오래된 장소에 남아 있으므로, 장치/시뮬레이터에서 응용 프로그램을 삭제 깨끗한 일을하려고 실행 그리고 다시 지어 라. – EricS

답변

1

한번에과 같이 pathForResource-forLocalization를 추가 :

NSArray* availableLocalizations = [[NSBundle mainBundle] localizations]; 
NSArray* userPrefered = [NSBundle preferredLocalizationsFromArray:availableLocalizations forPreferences:[NSLocale preferredLanguages]]; 

NSString *indexPath = [[NSBundle mainBundle] pathForResource:@"words" ofType:@"txt" inDirectory:@"data/a" forLocalization:[userPrefered objectAtIndex:0]];