티스토리 뷰

우리가 물론 간단한 것만 저장할 수 도 있지만

사용자의 눈에 보이지 않는 곳에 파일을 저장해야하는 경우가 있습니다.  

(정확히는 앱 내부 디렉토리에 저장한다고 생각하시면 됩니다.)

- 그래서 저장해도 사용자 눈에는 잘 보이지 않아요! -

 

사진이나 영상 아니면 특정 데이터 등등 많이 있지만 

생각보다 원리는 간단합니다. 

 

Data 를 원하는 이름으로 원하는 공간에 저장한다. 

이게 다 입니다.

 

즉 원하시는 파일들을 Data 로 변환하시면 저장하는 건 생각보다 어렵지 않다는 의미이기도 합니다. 

 

# 참고로 저장하실때 자주 쓰는 폴더가 Document 랑 Temp 가 있는데 필요에따라 선택해 저장하시면 됩니다.

  • Document : 일반적인 저장 폴더를 의미
  • Temp : 임시 저장 폴더를 의미

일단 저장하는 부분들을 간단히 보면 정말 간단합니다. 

(아래 함수중 원하시는 걸로 골라 쓰면 됩니다.)

저장

func saveInDocument(data : Data) {//Doc 저장
    let documentsURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
    let videoURL = documentsURL.appendingPathComponent("video.mp4") // 파일이름은 원하시는걸로 바꿔주세요.
    do {
        try data.write(to: videoURL)
    } catch {
        print("Something went wrong!")
    }
}
func saveInTmp(data : Data){// Temp 저장
    let tmpUrl = FileManager.default.temporaryDirectory
    let videoUrl = tmpUrl.appendingPathComponent("video.mp4")// 파일이름은 원하시는걸로 바꿔주세요.
    do{
        try data.write(to: videoUrl)
        self.setController(setUrl: videoUrl)
    } catch {
        print("fail")
    }
}

저장을 하고 나서 해당 Url(주소)에 파일이 있는지 확인해봐야겠죠?

아래처럼 코드를 이용해 확인하실 수 있어요.

(Doc 혹은 Tmp 중에 어디에 저장했는지 잘 확인하시고 사용하시면 됩니다!)

저장 확인

func checkFileIsAlreadyTmp(){// 파일있는지 없는지 확인
    let tmpUrl = FileManager.default.temporaryDirectory
    let fileName = "video.mp4"
    let videoUrl = tmpUrl.appendingPathComponent("\(fileName)")
    let fileManager = FileManager.default
    if fileManager.fileExists(atPath: videoUrl.path) {
        print("already_Exist")
    }else{
        print("no exit")
    }
}

func checkFileIsAlreadyDoc(){// 파일있는지 없는지 확인
    let tmpUrl = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
    let fileName = "video.mp4"
    let videoUrl = tmpUrl.appendingPathComponent("\(fileName)")
    let fileManager = FileManager.default
    if fileManager.fileExists(atPath: videoUrl.path) {
        print("already_Exist")
    }else{
        print("no exit")
    }
}

 

저렇게 저장하면 어디에 저장되는지 궁금하실 분들을 위해 확인하는 방법 알려드릴께요. 

(실제 아이폰에 저장 후 따라하시면 볼 수 있어요!)

* 확인 방법

1. Window > Devices and Simulators 를 찾아 클릭해주세요.

여기 파란 화살표가 있는 곳을 누르시면 되요!

2. 데이터를 보고 싶은 기기를 선택하시고 확인하고 싶은 앱을 선택 후 아래 원 버튼으로 Download 를 눌러주세요. 

원하시는 곳에 저장하시면 됩니다.

3. 저장한 파일에 패키지 내용보기 를 눌러주세요.

4. AppData 폴더를 클릭해주세요.

왼쪽 폴더로 들어가시면 됩니다.

5. 아까 본인이 저장하셨던 폴더 기억하시나요? 해당 폴더로 들어가시면 됩니다.(저는 tmp로 했습니다.)

4가지중 본인이 저장하셨던 곳으로 들어가시면 됩니다.

6. 해당 폴더 안에 원하시던 파일이 있으면 성공입니다.

짜잔!

 

일단 기본적인 데이터를 파일로 저장하는 방법에 대해 소개해봤는데요. 

지금은 어색하실 수 있지만 생각보다 자주 쓰이게 되는 부분들입니다. 

 

이 글이 처음 하시는 분들에게 

도움이 되길 바라며 

(나중에 특정 몇몇 형식을 Data로 바꾸는 부분은 올리긴 할 것 같아요.) 

 

오늘도 파이팅입니다.

댓글