iOS - File System

longlivedrgn·2022년 12월 26일
0

iOS

목록 보기
1/10
post-thumbnail

File System

  • 내가 어떻게 저장하고, 불러올 지 정하는 것
  • APFS는 mac OS, iOS, watchOS 및 tvOS의 기본 파일 시스템입니다
  • iOS 앱은 보안상의 이유로 파일 시스템의 sandbox directory에서 각각 관리됩니다.

Sandbox directory

  • 번들 컨테이너

    • 실행가능한 파일, info.plist, 각종 Resources(이미지, 사운드, strings등)등을 할때 그룹화
  • 데이터 컨테이너

    • Document(사용자가 직접 접근)
    • Library(사용자가 직접 접근하지 못함)
    • Temp
  • iCloud 컨테이너

1) 데이터 컨테이너 - Document

-> 설정에 따라 유저가 직접 파일 추가 및 삭제 가능
-> 따라서 유저에 의해 삭제되거나 내용이 변경되어도 무방하고 유저가 다루는 컨텐츠와 관련이 있는 파일들만 저장

2) 데이터 컨테이너 - Library

-> 유저 데이터 파일 및 임시 파일을 제외한 모든 파일들을 관리
-> 유저에게 노출되는 것을 피하고 앱의 기능이나 관리에 필요한 파일 저장

Application support

  • 앱의 기능 또는 관리를 위해 지속적으로 관리해야되는 파일 저장
  • Documents와 거의 동일한 속성을 가지지만, 유저에 대한 노출 여부에 따라 위치가 결정됩니다.
  • CoreData 기본 저장 경로

Cache

  • 앱의 동작 속도/데이터 절약 등을 위해 사용되는 공간
  • 반복 사용 임시 데이터를 저장
  • 디스크 용량 부족 시 시스템에서 자동 청소
  • 실행중에는 삭제 x

Preference

  • 진짜 딱 설정 데이터 저장, 직접 수정 권장하지 않는다.

3) 데이터 컨테이너 - Temp

  • 현재 앱 실행중에는 사용하지만 유지할 필요 없는 임시 파일 저장
  • 재사용 되지않는 임시 데이터 저장
  • 사용 후 필요없어진 파일은 직접 삭제해주는 것을 권장

활동학습

다음의 데이터는 어느 영역에 저장하는 것이 좋을까?

  1. 동영상 플레이어의 동영상 파일

    Document ⇒ 사용자가 직접 접근해서 수정/추가/삭제가 가능하기에

  2. 웹 서버에서 받아온 임시 데이터

    cache일 수도

    → 일회성으로 받는 거(+사용자가 다운을 받다가 그만 두는 것도) temp

  3. 사용자가 작성한 임시 메모

    document ⇒ 사용자가 직접 접근해서 수정/추가/삭제가 가능하기에

  4. 메모장 앱의 메모정보

    application support ⇒ 안보이게끔 할거 같다 + iOS 메모앱은 CoreData(application support)

  5. 내 일기를 외부로 내보내기 위한 백업 파일

    temp ⇒ 잠시 저장된 임시 데이터(지워도 되는)

  6. 채팅 앱의 대화내역

    library(application support)

  7. 어젯밤 술취해 남겨둔 음성메모

    document ⇒ 사용자가 직접 접근해서 수정/추가/삭제가 가능하기에

  8. 사진편집을 위해 사진첩에서 가져온 사진

    Document(Inbox) ⇒ 사용자가 직접 접근해서 수정/추가/삭제가 가능하기에(폴라리스 마냥)

    → 편집 뒤에 없어져도 된다면 → temp

    → 편집 뒤에 안없어진다면 → cache

0개의 댓글