2010-07-06 2 views
0

현재 NSMutableArray에 데이터를 추가 한 다음 다시 읽어 와서 UITableview를 채 웁니다. 이것은 시뮬레이터에서 정상적으로 작동하지만 디바이스에서 테스트 할 때 작동하지 않습니다. 앱은 여전히 ​​plist에서 읽습니다. 따라서 수동으로 데이터를 추가하면 앱이 tableview에 데이터를 표시합니다. 하지만 앱에서 읽거나 쓸 수 없습니까? 나는 목록이 필요뿐만 아니라 직렬화되는, 그러나 다른 사람이 밤은 필요한 말을 읽었습니다plist에 저장하면 시뮬레이터에서 작동하지만 장치에서는 작동하지 않습니다.

newTitle = [NSString stringWithFormat:@"%d_%@",[Daily_QuoteViewController counter], t]; 
[plistArray addObject:newTitle]; 
[plistArray writeToFile:filepath atomically: YES]; 

나는 현재 코드를 사용할 수 있습니까?

도움을 주시면 감사하겠습니다.

감사

+4

어떤 디렉토리에 plist가 저장되어 있습니까? 앱 번들은 기기에 쓸 수 없습니다. 파일을 앱의 Documents 디렉토리에 저장해야합니다. –

+0

리소스 폴더에 저장됩니다. – jarryd

답변

4

당신은 확실히 당신의 응용 프로그램은 위치에 쓰기 권한 당신의 PLIST를 쓰기를 시도했다 있습니까? 시뮬레이터의 파일 시스템 액세스와 실제 장치 사이에는 차이점이 있습니다.

업데이트 : iPhone Application Programming Guide: A Few Important Application Directories에서 앱에 사용할 수있는 폴더에 대해 자세히 알아볼 수 있습니다. 이러한 폴더의 위치를 ​​가져 오는 표준 방법은 iPhone Application Programming Guide: Getting Paths to Application Directories에 설명되어 있습니다. 여기에 문서 폴더를 얻고 그것에서 파일의 경로를 구성하는 방법을 예입니다 :

당신이 사용하는 응용 프로그램 폴더는 파일의 실제 내용과 사용 목적에 따라
NSArray *paths = NSSearchPathForDirectoriesInDomains(
        NSDocumentDirectory, 
        NSUserDomainMask, YES 
       ); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSURL *urla = [NSURL fileURLWithPath:[documentsDirectory 
         stringByAppendingString:@"/myinfo.plist"]]; 

.

+0

나는 그럴 필요가 없다고 확신한다. plist에서 올바른 파일 경로를 읽습니다. 그러나 앱이 실행 중일 때 아무 것도 추가하지 않습니다. 권한을 얻으려면 어떻게해야합니까? 안부 – jarryd

+0

당신은 iOS가 당신에게 제공하는 것 외에 다른 허가를 얻을 수 없습니다. –

+0

아, 문서 디렉토리에 쓸 경로는 무엇입니까? 안부 – jarryd

관련 문제