iOS Study

iOS app 에서 문자열(Log 기록)입력 후 파일생성하기

85chong 2021. 11. 24. 15:02
728x90
반응형
SMALL

* 환경 : 
- iOS Deployment Target : ios 11.4
- Xcode : 12.5

 

 

* 간단 설명 : 
1. 권한 추가
2. 파일 내용 입력
3. 파일 생성
4. 끝

 


* 상세 설명(코드) : 
1. 권한 추가 : 
Info.plist 안에 아래의 Key를 추가후 YES 로 설정하기
- Supports opening documents in place
- Application supports iTunes file sharing 

 


2. 파일내용 입력 : 

    func writeLog(_writeValue:String){
        var result_write_value = ""
        //현재시간 구하기(년/월/일/초)
        var formatter = DateFormatter()
        formatter.dateFormat = "yyyy-MM-dd:HH:mm:ss"
        var current_date_string = formatter.string(from: Date())
        //TEST CODE
        var textLog = createTextFile()
        result_write_value = "** \(current_date_string) **\n\(_writeValue)"
        textLog.write("\(result_write_value)\n\n\n")
    }

 


3. 파일 생성

   struct createTextFile:TextOutputStream {
        mutating func write(_ string: String){
            let paths = FileManager.default.urls(for: .documentDirectory, in: .allDomainsMask)
            let documentDirectoryPath = paths.first!
            let log = documentDirectoryPath.appendingPathComponent("my_Custom_Log.txt")
            do{
                let handle = try FileHandle(forWritingTo: log)
                handle.seekToEndOfFile()
                handle.write(string.data(using: .utf8)!)
                handle.closeFile()
            }catch{
                print(error.localizedDescription)
                do{
                    try string.data(using: .utf8)?.write(to: log)
                }catch{
                    print(error.localizedDescription)
                }
            }
        }
    }



* 사용 방법 : 

  self.writeLog(_writeValue: custom_value)

 

 

* File Example : 

** 2021-11-01-16:00:00 **

(_string 에 들어있는값이 이곳에 기록됨)

 

 


* ios Device log파일 확인하는 방법 :
- 파일 > 해당 app 폴더 > "my_Custom_Log.txt" 파일 생성됨 > 열어서 로그 확인가능

 

 

- 끝 -