iPhone 앱에서 .plist 파일을 보관할 위치
-
09-09-2019 - |
문제
iPhone 앱을 개발하고 있는데.이 파일을 사용하여 일부 구성 변수를 저장하려고합니다.
내 Xcode에서 그 .plist 파일을 만들 수있는 곳과 액세스 방법 ???
감사합니다,
해결책
리소스 폴더에 넣을 것입니다. 그런 다음 이와 같은 것을 사용하여로드하십시오.
NSString *file = [[NSBundle mainBundle] pathForResource:@"TwitterUsers" ofType:@"plist"];
NSArray *Props = [[NSArray alloc] initWithContentsOfFile:file];
여기서 Twitterusers는 Plist 파일의 이름입니다.
PLIST 파일에 키와 값이 포함 된 경우 NSARRAY 대신 두 번째 줄을 NSDictionary로 만듭니다.
다른 팁
Plist 파일을 문서 디렉토리에 저장하려면 앱에 plist 파일을 포함시킨 다음 첫 번째 시작에 문서 디렉토리에 복사해야합니다.
문서 디렉토리에서 파일에 액세스하려면 :
NSArray *paths =
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0];
// <Application Home>/Documents/foo.plist
NSString *fooPath =
[documentsPath stringByAppendingPathComponent:@“foo.plist”];
앱 번들의 리소스 디렉토리에 보관하는 것이 좋지만 프로젝트 창으로 드래그 할 수 있습니다. 그만큼 NSBundle
방법 pathForResource:ofType:
당신이 통과 할 수있는 길을 주어야합니다. NSDictionary
'에스 dictionaryWithContentsOfFile:
.
편집하다: 죄송합니다, 전체 코드 샘플 (이미 복사 및 붙여 넣은 생각) :
NSString *path = [[NSBundle mainBundle] pathForResource:@"MyConfig" ofType:@"plist"];
NSDictionary *myConfig = [NSDictionary dictionaryWithContentsOfFile:path];
편집하다 나에게 "구성 변수"가 불변 할 수 없을 수도 있습니다. 이 경우이 답을 무시하십시오.
나는 당신이 사용하는 것이 좋습니다 NSUSERDEFAULTS 자체 시스템을 굴리는 대신 구성 변수를 저장합니다.
수정하는 경우 a .plist
애플리케이션 번들 내부에는 번들의 서명을 무효화 할 위험이 있지만 잘 끝나지 않습니다.
직접 저장하고 수정 해야하는 경우 .plist
, 그것을 보관하십시오 Documents
응용 프로그램이 다운로드하고 생성하는 모든 것을 저장 해야하는 디렉토리도 참조하십시오. 파일 및 데이터 관리 그리고 NSFILEMANAGER.
기본적으로 프로젝트에 PLIST를 어디에서나 포함 시켰는 경우 (자원 또는 기타에 따라) Xcode는 위에서 언급 한 상태에서 얻을 수있는 애플리케이션 번들에 복사합니다. pathForResource
전화. 자원이없는 곳에 그룹화를 선호 할 수도 있다고 언급했을 것입니다 ...
SQLITE BOOK 예제를 찾을 수 있습니다 ..... SILTE 데이터 파일은 디렉토리 '문서'에 저장되었습니다 .... PRCESS를 알게 될 것입니다.
왜 번들이 무효화됩니까?
리소스 폴더 의이 파일이 문서 폴더의 파일과 같은 iTunes에서 백업됩니까?