투케이2K

434. (ios/swift5) [유틸 파일] directoryFileList : 앱 파일 저장소에 저장된 파일 리스트 확인 - FileManager 본문

IOS

434. (ios/swift5) [유틸 파일] directoryFileList : 앱 파일 저장소에 저장된 파일 리스트 확인 - FileManager

투케이2K 2024. 4. 6. 09:47

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT5

 

[소스 코드]

    // -----------------------------------------------------------------------------------------
    // MARK: - [특정 디렉토리에 저장된 파일 리스트 목록 확인]
    // -----------------------------------------------------------------------------------------
    func directoryFileList(filePath: String) -> Array<String> {
        
        /*
        // -----------------------------------------
        [directoryFileList 메소드 설명]
        // -----------------------------------------
        1. 특정 디렉토리에 저장된 파일 리스트 목록 확인
        // -----------------------------------------
        2. 호출 방법 :
         
         let folderName = "LOG_FILE_FOLDER"
         
         var filePaths = ""
         
         let fileManager = FileManager.default // 파일 매니저 선언
         let documentsUrl =  fileManager.urls(for: .documentDirectory, in: .userDomainMask).first // 기본 경로 확인
         
         filePaths = documentsUrl?.appendingPathComponent(folderName).path ?? ""
         
         C_App().directoryFileList(filePath: filePaths)
        // -----------------------------------------
        3. 리턴 데이터 : ["APP_CRASH_LOG_FILE.txt", "APP_HTTP_LOG_FILE.txt", "APP_USE_LOG_FILE.txt"]
        // -----------------------------------------
        4. 참고 info plist 설정 :
         
         아이폰 파일 접근 설정 : Supports opening documents in place : YES
         아이튠즈 공유 설정 : Application supports iTunes file sharing : YES
        // -----------------------------------------
        */

        
        // [변수 선언]
        var returnData : Array<String> = []
        var M_LOG = ""


        // [로직 처리 실시]
        if (C_Util().stringNotNull(str: filePath) == true){
            
            let fileManager = FileManager.default // 파일 매니저 선언
            
            if FileManager.default.fileExists(atPath: filePath) == true { // [파일 존재]
                
                do {
                    returnData = try fileManager.contentsOfDirectory(atPath: filePath)
                    
                    M_LOG = M_LOG + "[Success] :: File List Check"
                } catch {
                    M_LOG = "[Exception] :: \(error.localizedDescription)"
                }
                
            }
            else { // [파일 없음]
                M_LOG = "[ERROR] :: File Not Exists"
            }
            
        }
        else {
            M_LOG = "[ERROR] : Input Data Is Null"
        }

        
        // [로그 출력 실시]
        S_Log._F_(description: "앱 파일 저장소에 저장된 파일 리스트 확인", data: [
            "INPUT :: \(filePath)",
            "M_LOG :: \(M_LOG)",
            "RETURN :: \(String(describing: returnData))"
        ])
        
        
        // [리턴 결과 반환]
        return returnData
        
    }
 

[결과 출력]

 

 

반응형
Comments