본문 바로가기
프로그래밍/Swift

fileManager tmp directory of files delete, stack-logs.xxxx....

by Mr-후 2021. 11. 30.
반응형

앱을 개발하면서 지속적인 테스트를 진행하다 보니 갑자기 폰에서 용량이 없다는 알림이 떠고 더 이상 앱이 설치 되지 않았다. 

 

설정의 아이폰 용량을 확인해보니 개발중인 앱의 용량 중, 문서 및 데이터의 용량이 20기가 넘어있었다. 

 

설치된 앱의 컨테이너를 다운로드하여 패키지 안을 보니 tmp디렉토리에 알수없는 로그 파일이 잔뜩 쌓여있어 이를 삭제하는 로직을 추가하게 되었다. 

 

근본적인 원인은 누가 쌓고 있는지 모르겠으나, 설사 안다고 해도 라이브러리거나 SDK거나 일게 뻔하디 뻔하여 그냥 앱 시작 시점, 백그라운드 들어가는 시점 등에서 tmp디렉토리의 파일을 삭제하는 함수가 불려지도록 구현을 했다. 

 

따라서 해당 함수를 기록해 둔다. 

/// 템프폴더의 파일을 삭제 
private func clearTmpFolerOfFiles() {
    let fileManager = FileManager.default
    let tmpFolderPath = NSTemporaryDirectory() 
    do {
        let filePath = try fileManager.contentsOfDirrectory(atPath: tmpFolderPath)
        for filePath in filePaths {
        	try fileManager.removeItem(atPath: tmpFolderPath + filePath)
         }
     } catch let error as NSError {
        print("error : \(error.localizedDescription)") 
     }
  }
반응형