Notice
Recent Posts
Recent Comments
Link
투케이2K
534. (ios/swift5) [ZIPFoundation] 특정 디렉토리 폴더 text 텍스트 파일을 zip 파일로 압축 수행 - archive.zip 본문
IOS
534. (ios/swift5) [ZIPFoundation] 특정 디렉토리 폴더 text 텍스트 파일을 zip 파일로 압축 수행 - archive.zip
투케이2K 2024. 8. 4. 16:02[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT5
[사전) txt 파일 생성 필요]
[소스 코드]
// -----------------------------------------------------------------------------------------
// MARK: - [테스트 메인 함수 정의 실시]
// -----------------------------------------------------------------------------------------
func testMain() {
S_Log._D_(description: "테스트 함수 시작 실시", data: nil)
/*
// -------------------------------------------------------
[요약 설명]
// -------------------------------------------------------
1. 필요 info plist 설정
아이폰 파일 접근 설정 : Supports opening documents in place : YES
아이튠즈 공유 설정 : Application supports iTunes file sharing : YES
// -------------------------------------------------------
2. 필요 import : import ZIPFoundation
// -------------------------------------------------------
3. Git 소스 참고 사이트 :
https://github.com/weichsel/ZIPFoundation
// -------------------------------------------------------
4. 라이브러리 설치 참고 사이트 :
https://blog.naver.com/kkh0977/223536057049
// -------------------------------------------------------
5. 사전) 텍스트 파일 생성 참고 사이트 :
https://blog.naver.com/kkh0977/223287385462?trackingCode=blog_bloghome_searchlist
// -------------------------------------------------------
*/
// [로직 처리 실시]
DispatchQueue.main.async {
// [파일 경로 확인 변수 생성]
var fileOriginPath = ""
var fileZipPath = ""
var fileName = "file.txt"
var zipName = "archive.zip"
// [파일 매니저 생성]
let fileManager = FileManager.default // 파일 매니저 선언
let documentsUrl = fileManager.urls(for: .documentDirectory, in: .userDomainMask).first // 기본 경로 확인
fileOriginPath = documentsUrl?.path ?? ""
fileZipPath = documentsUrl?.path ?? ""
if (fileOriginPath.hasSuffix("/") == true){ // [원본 텍스트 파일 경로]
fileOriginPath = fileOriginPath + fileName
}
else {
fileOriginPath = fileOriginPath + "/" + fileName
}
if (fileZipPath.hasSuffix("/") == true){ // [생성할 zip 파일 경로]
fileZipPath = fileZipPath + zipName
}
else {
fileZipPath = fileZipPath + "/" + zipName
}
S_Log._D_(description: "FILE_URL", data: [
"TXT_URL :: " + fileOriginPath,
"ZIP_URL :: " + fileZipPath,
])
// [Zip 파일 생성 수행]
do {
let fileManagers = FileManager()
try fileManagers.zipItem(at: URL(fileURLWithPath: fileOriginPath), to: URL(fileURLWithPath: fileZipPath))
} catch {
S_Log._D_(description: "Zip 파일 생성 에러 발생", data: ["error : \(error)"])
}
}
}
[결과 출력]
반응형
'IOS' 카테고리의 다른 글
Comments