기존에는 initWithContentsOfURL를 이용해서 데이터를 가져왔는데, 이게 Cache된 데이터를 가져오는 문제가 있다는 것을 알았다.
기존에 서버에 최신 버전정보가 있는 xml을 두고 initWithContentsOfURL로 데이터 값을 읽는 코드를 작성했었다.
NSString* newVersion = [NSString stringWithFormat:@"%@/NewVersion.xml", liveUpdateServer]; NSURL* versionURL = [NSURL URLWithString:newVersion]; NSXMLDocument* doc = [[NSXMLDocument alloc] initWithContentsOfURL:versionURL options:NSXMLDocumentTidyXML error:nil]; NSArray* arrVersion = [doc nodesForXPath:@"//NewVersion" error:nil]; [doc release]; |
NewVersion.xml만 수정해서 서버에 재업로드 하고 테스트 한 결과,
재업로드 전의 NewVersion.xml에 있던 NewVersion값을 가져오는 문제가 있었다.
혹시나 업로드가 잘못되었나 해서 해당 url을 가지고 chrome에서 직접 접근하였으나 xml은 정상적으로 업로드 된 것을 확인하였다.
캐싱 이전 데이터를 가져오는 것으로 판단했다.
그래서 NSData의 NSDataReadingUncached 옵션을 이용해서 cache가 안된 데이터를 가져오니 정상적으로 동작하는 것을 확인 할 수 있었다.
NSURL* versionURL = [NSURL URLWithString:newVersion];
NSString* newVersion = [NSString stringWithFormat:@"%@/NewVersion.xml", liveUpdateServer]; NSURL* versionURL = [NSURL URLWithString:newVersion];
NSData *data = [[NSData alloc] initWithContentsOfURL:versionURL options:NSDataReadingUncached error:nil]; NSXMLDocument* doc = [[NSXMLDocument alloc] initWithData:data options:NSXMLDocumentTidyXML error:nil]; [data release]; NSArray* arrVersion = [doc nodesForXPath:@"//NewVersion" error:nil]; [doc release]; |
Copyright © 2015 by ZAMCOM, All rights reserved.
'Mac&iOS' 카테고리의 다른 글
Help Indexer 파일 받기 (0) | 2015.03.11 |
---|---|
Apple help book 만들기(도움말 만들기) (0) | 2015.03.11 |
NSZombieEnabled로 Bad Access에러 찾기 (0) | 2015.02.16 |
Apple 오픈 소스 사이트 (0) | 2015.02.16 |
번들에 포함된 html 파일을 safari로 열기 (0) | 2015.02.16 |