iPhone SDK- 리소스에 ZIPPENT 컨텐츠 추가 다음 문서 폴더로 압축을 풀기

StackOverflow https://stackoverflow.com/questions/1463967

  •  13-09-2019
  •  | 
  •  

문제

iPhone 응용 프로그램과 함께 배송 해야하는 리소스 (ZIPPER)가 있습니다. 앱이 처음으로 시작되면이 zipped 파일을 문서 폴더로 이동/복사해야합니다. 그런 다음 사용자는 응용 프로그램 에서이 경로에 더 많은 파일을 추가 할 수 있습니다. 누군가 내가 이것을 어떻게 달성 할 수 있는지 제안 할 수 있습니까?

감사!

도움이 되었습니까?

해결책

위의 의견에 따라 :

여러 파일이 있기 때문에 압축 자원을 추가하려는 이유입니다. 압축하지 않으면 파일을 개별적으로 이동해야합니다. 파일 이름을 읽은 다음 이동할 수 있도록 파일 목록을 유지해야합니다. 지핑과 압축이 더 간단한 솔루션이라고 생각했습니다.

번들의 폴더에 모든 파일을 추가 할 수 있습니다. 앱이 처음으로 시작되면 빠른 열거를 사용하여 폴더를 통해 실행되고 해당 폴더에서 찾은 내용이 문서 폴더에 복사됩니다. 폴더 내에서 폴더를 처리하는 것이 약간 더 복잡합니다 (재귀 추가). 이렇게하면 지퍼 나 타르에 대해 걱정할 필요가 없거나 파일 디렉토리를 설치할 수 있습니다.

원하는 파일 폴더를 Xcode의 리소스 폴더에 배치하고 그룹이 아닌 폴더로 가져 오라고 지시하십시오. 이렇게하면 파일이 모든 곳에서 개별 파일이 아닌 폴더 내부의 리소스에 설치됩니다.

편집하다:

더 나은 방법은 원하는 모든 파일을 한 폴더에 넣고 프로젝트에 추가하지만 "그룹"이 아닌 다음 처음 시작하는 것에 대해 말하는 것을 수행하십시오.

[[NSFileManager defaultManager] copyItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error];

그리고 전체 디렉토리를 한 곳에서 다른 곳으로 복사합니다. 쉬운!

다른 팁

추가 libz.dylib 프로젝트 프레임 워크 및 포함 Deusty 's NSData GZIP 카테고리 압축/감압 방법을 제공합니다.

libz.dylib를 사용하여 사용할 수 있지만, 작은 공간을 절약 할 수 있으므로 실제로 불필요합니다. 전화로 전송 될 때 응용 프로그램 번들이 이미 압축되어 있습니다. 압축 위의 압축은 일반적으로 추가 압축이 거의 없습니다.

직접 시도해보십시오. 압축 된 내용을 사용하여 앱을 배송하는 것은 방금 내용만큼 많은 공간을 차지할 수 있음을 알 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top