투케이2K

285. (ios/swift) fileManager removeItem 사용해 파일 매니저로 저장된 디렉토리 폴더 삭제 수행 실시 본문

IOS

285. (ios/swift) fileManager removeItem 사용해 파일 매니저로 저장된 디렉토리 폴더 삭제 수행 실시

투케이2K 2022. 11. 16. 10:35

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT

 

[소스 코드]

    // MARK: - [테스트 메인 함수 정의 실시]
    func testMain() {
        print("")
        print("====================================")
        print("[\(self.ACTIVITY_NAME) >> testMain() :: 테스트 함수 시작 실시]")
        print("====================================")
        print("")
        
        
        /*
         -------------------------------
         [요약 설명]
         -------------------------------
         1. NSFileManager : 아이폰 [내파일] >> [애플리케이션] 폴더에 접근할 수 있습니다
         -------------------------------
         2. 필요 info plist 설정 :
                  
          아이폰 파일 접근 설정 : Supports opening documents in place : YES
          아이튠즈 공유 설정 : Application supports iTunes file sharing : YES
          ------------------------------------
         */
        
        
        // [로직 처리 수행]
        DispatchQueue.main.async {
            
            // [폴더 명칭 생성 실시]
            let folderName = "TWOK_FOLDER"
            
            
            // [파일이 저장되는 경로 확인]
            let fileManager = FileManager.default // 파일 매니저 선언
            let documentsUrl =  fileManager.urls(for: .documentDirectory, in: .userDomainMask).first! // 기본 경로 확인
            
            
            // [파일 경로 + 폴더 명칭 설정 실시]
            let fileSavePath = documentsUrl.appendingPathComponent(folderName) // 실제 저장되는 경로
            
            
            // [파일 경로가 존재하는지 체크 실시]
            if !FileManager.default.fileExists(atPath: fileSavePath.path) {
                print("")
                print("===============================")
                print("[ViewController >> testMain() :: 저장 된 경로 없음 >> 폴더 없음]")
                print("fileSavePath :: \(fileSavePath.description)")
                print("===============================")
                print("")
            }
            else {
                print("")
                print("===============================")
                print("[ViewController >> testMain() :: 이미 저장 된 경로 있음 >> 폴더 삭제 실시]")
                print("fileSavePath :: \(fileSavePath.description)")
                print("===============================")
                print("")
                
                do {
                    
                    // [디렉토리 삭제 실시]
                    try fileManager.removeItem(at: fileSavePath)
                    
                } catch {
                    print("")
                    print("===============================")
                    print("[ViewController >> testMain() :: CATCH]")
                    print("error :: \(error.localizedDescription)")
                    print("===============================")
                    print("")
                }
            }

        }


    }
 

[결과 출력]

 

 

반응형
Comments