투케이2K

267. (ios/swift) FileManager 파일 매니저 createDirectory 사용해 애플리케이션 파일 디렉토리 폴더 생성 본문

IOS

267. (ios/swift) FileManager 파일 매니저 createDirectory 사용해 애플리케이션 파일 디렉토리 폴더 생성

투케이2K 2022. 11. 10. 15:00

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT

 

[소스 코드]

    // MARK: - [테스트 함수 정의]
    func testMain() {
        print("")
        print("===============================")
        print("[ViewController >> 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"
            
            
            // [파일이 저장되는 경로 확인]
            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("")
                do {
                    
                    // [디렉토리 생성 실시]
                    try FileManager.default.createDirectory(atPath: fileSavePath.path, withIntermediateDirectories: true, attributes: nil)
                    
                } catch {
                    print("")
                    print("===============================")
                    print("[ViewController >> testMain() :: CATCH]")
                    print("error :: \(error.localizedDescription)")
                    print("===============================")
                    print("")
                }
            }
            else {
                print("")
                print("===============================")
                print("[ViewController >> testMain() :: 이미 저장 된 경로 있음 >> 폴더 생성 안함]")
                print("fileSavePath :: \(fileSavePath.description)")
                print("===============================")
                print("")
            }

        }
        
    }
 

[결과 출력]


 

반응형
Comments