2011-09-01 7 views
0

나는 많은 PDF보기를 허용하는 디자인의 앱을 가지고있다. 사용할 수있는 언어가 많아서 앱에이 모든 것을 포함 시키면 크기가 100MB 이상으로 비행하지 않을 것입니다. pdf를 내 app resources 폴더에 저장하고 런타임에 액세스하려면 어떻게해야합니까?

그래서 난 내 서버에 PDF의의를 넣어려고 생각하고,이 같은 직접 다운로드 링크에 액세스하고 있습니다 :

http://mysite.com/pdfs/thepdf.pdf 

내가 원하는 정확한 PDF를 반환하는. 그래서 나는 즉시 다운로드 할 때 이러한 리소스에 액세스하는 방법에 대해 궁금한가요?

pdf를 앱 리소스 폴더에 저장해야한다고 생각합니까? 그리고 pdf에 대한 tableView 행이 선택되면 pdf가 resources 폴더에 있는지 확인합니다 (어떻게 수행합니까?). 그렇지 않은 경우 서버에서 내려 내보기로로드합니다.

내가해야 할 일에 대해 괜찮은 생각이 들지만 코드를 작성하는 데는 그다지 명확하지 않습니다. 아무도 리소스 폴더에 액세스하기위한 코드를 게시 할 수 있습니까 (실제로 필요한 경우). 리소스 폴더에 있는지 확인하는 방법에 대한 코드는 무엇입니까?

감사합니다.

답변

1

직접 다운로드하여로드하는 대신 UIWebView를 사용하여 PDF를 보았습니까? UIWebView는 캐싱을 처리해야하므로 걱정할 필요가 없습니다.

UIWebView가 작동하지 않는다고 가정하고, PDF를 다운로드하고 PDF가 존재하는지 확인하려면 문서 폴더에 저장해야합니다. 응용 프로그램을 Apple에 제출 한 후에는 자원 폴더를 변경할 수 없지만 응용 프로그램의 Documents 폴더는 정상적으로 작동합니다. 이 도구에 액세스하려면 실제로 ConciseKit, which can be found on GitHub을 권하고 싶습니다. 그것은 당신에게 당신의 앱의 문서 디렉토리에 접근하는 헬퍼 메소드를 제공합니다. 도우미 방법은

[$ documentPath]; 

그런 다음 당신은 당신이 파일의 경로를 얼마나 그래서이 존재하는 경우 확인,

[[$ documentPath] stringByAppendingPathComponent:@"file.pdf"]; 

를 수행하여 파일의 경로를 얻을 수 있습니다, 당신이 원하는 NSFileManager를 사용하십시오.

[[NSFileManager defaultManager] fileExistsAtPath:@"path from above"]; 
+0

당신은 남자입니다! 확실히 PDFWindow를 UIWebView에로드하는 것이 합리적입니다. 내가 염려 한 유일한 것은 한 번 다운로드 한 것이 로컬 이었기 때문에 웹 액세스없이 액세스하려는 경우 문제가되지 않을 것이라고 확신했습니다. 당신의 대답은 제가 필요한 모든 도움을줍니다. 고맙습니다! –

+0

이 [$ documentPath]는이 두 줄을 작성할 필요가 없습니다. NSArray * paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES); NSString * documentsDirectory = [경로 objectAtIndex : 0]; ?? – Heena

+0

정확하게 맞습니다. –

관련 문제