2011-09-15 4 views
0

내 앱에는 두 개의 타겟이 있습니다.
각 파일에는 Info.plist 파일과 사용자 지정 폴더가 포함되어 있습니다 (그룹이 아닌 참조).
시뮬레이터에서 타겟을 실행할 때 폴더가 번들에 올바르게 삽입되고 그 안에있는 파일이 문제없이 읽혀집니다. 내가 장치에 응용 프로그램을 디버깅하려고하면iPad 번들에 폴더 추가는 기기가 아닌 시뮬레이터에서 작동합니다.

NSBundle* mainBundle; 
NSString *fileFolder; 
mainBundle = [NSBundle mainBundle]; 
NSLog(@"Bundle path: %@", [mainBundle bundlePath]); 
NSLog(@"Folder name: %@", [mainBundle objectForInfoDictionaryKey:@"CustomFolder"]); 
NSString *folder = [mainBundle objectForInfoDictionaryKey:@"CustomFolder"]; 
fileFolder = [[[NSBundle mainBundle] pathForResource:folder ofType:nil] retain]; 
NSLog(@"Folder: %@", fileFolder); 

이 번들 경로 및 폴더 이름이 정확하지만, 폴더 문자열이 null :
이 폴더 경로를 읽을 수있는 코드입니다.
내 앱 제품을 체크인했는데 모든 파일과 함께 올바른 폴더가 있습니다.
그래서 문제가 무엇입니까? 읽기 권한 문제입니까?

UPDATE 아이 패드 시뮬레이터에서 실행 결과 경로는이

/*/라이브러리/응용 프로그램 지원/아이폰 시뮬레이터/4.3.2/응용 프로그램/8337B9E5-1BFE-4A17-969E-E3E6E43193D6/

업데이트 2 MyApp.app/CustomFolder/ 문제는 내가 "추가 된 폴더에 대한 폴더를 참조 만들기"에 폴더를 추가 한 것입니다.
pathForResource를 stringByAppendingPathComponent로 바꿨지 만 이제는 subpathsOfDirectoryAtPath에 대한 문제가 지속됩니다.

+0

대소 문자를 구분합니까? Mac (iOS 시뮬레이터 포함)에서 파일 시스템은 대소 문자를 구분하지 않지만 장치에 있습니다. –

+0

폴더는 이름과 코드 참조에서 대소 문자가 같습니다. – pasine

답변

0

iPad 메모리에서 올바른 위치를 사용해야합니다. 시뮬레이터에서 물건을 저장할 위치에 대한 제한이 없습니다. 이 코드가 작동합니까

+(NSString*) pathToDocumentsFolder 
{ 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
return documentsDirectory; 
} 
+(NSString*) pathToFileInDocumentsFolder:(NSString*)filename 
{ 
NSString *pathToDoc = [NSBundle pathToDocumentsFolder]; 
return [pathToDoc stringByAppendingPathComponent:filename]; 
} 
+0

내 폴더가 문서 폴더에없고 번들에 있습니다. 전체 경로에 대한 내 게시물 업데이트를 참조하십시오. – pasine

+0

iPhone에 어떤 버전의 iOS가 있습니까? – geminiCoder

+0

iOS5 beta7이 적용된 iPad1 – pasine

관련 문제