Taehyeon-Kim/SeSAC

[220825] TIL

Taehyeon-Kim opened this issue · 0 comments

백업/복구

  • 개인 정보 문제는 되게 민감한 문제다.
  • 데이터에 대한 책임을 어느 정도 사용자에게 넘긴다.

1. 로컬 - 서버

  • 자체 서버
  • 서드 파티 (google drive, dropbox) : 사용자가 가지고 있는 클라우드 계정에 개인 데이터 업로드, 많이 사용하는 방식, 불편하고 어려운 점이 더 많음
  • 파일 앱 : share activity 이용해서 외부로 백업 파일 전송(mac, kakao, email, ...), 디폴트 기본 앱, 아이폰 유저에게는 100퍼센트 대응

2. 백업

  • document - archive.zip(image, realm) 생성 - activity view controller
  • 만약에 아이폰에 저장 공간이 없는 경우에는 어떡할까? (사용자에게 알림을 주는 방식으로 대처)
  • 백업 파일이 없는 상황에서 백업을 요청할 때는 어떡할까? (데이터가 있는지 체크, realm - image 파일이 있는지 확인)
  • 사용자가 중간에 다른 작업을 하는 경우 (백그라운드, 앱 종료의 경우)

3. 복구

데이터를 덮어쓰는 방식이 시간이 훨씬 적게 걸린다.

  1. 유효한 파일인지 (파일명, 파일 리스트)
  2. 백업 파일이 있는지 확인 (파일 앱 안에 있는지 확인)
  3. 최신 백업 버전인지 (버전 체크)
  4. realm version 체크 - db table이 충돌나지 않도록 신경쓰는 작업도 필요

UIDocumentPickerViewController 활용해서 백업, 복구

  1. 압축 파일이 있어야 한다. (압축 라이브러리 사용하기)
  2. 압축 파일을 UIActivityViewController로 전달한다.
  3. UIDocumentPickerViewController, Delegate를 이용해서 기능을 구현한다.