[220825] TIL
Taehyeon-Kim opened this issue · 0 comments
Taehyeon-Kim commented
백업/복구
- 개인 정보 문제는 되게 민감한 문제다.
- 데이터에 대한 책임을 어느 정도 사용자에게 넘긴다.
1. 로컬 - 서버
- 자체 서버
- 서드 파티 (google drive, dropbox) : 사용자가 가지고 있는 클라우드 계정에 개인 데이터 업로드, 많이 사용하는 방식, 불편하고 어려운 점이 더 많음
- 파일 앱 : share activity 이용해서 외부로 백업 파일 전송(mac, kakao, email, ...), 디폴트 기본 앱, 아이폰 유저에게는 100퍼센트 대응
2. 백업
- document - archive.zip(image, realm) 생성 - activity view controller
- 만약에 아이폰에 저장 공간이 없는 경우에는 어떡할까? (사용자에게 알림을 주는 방식으로 대처)
- 백업 파일이 없는 상황에서 백업을 요청할 때는 어떡할까? (데이터가 있는지 체크, realm - image 파일이 있는지 확인)
- 사용자가 중간에 다른 작업을 하는 경우 (백그라운드, 앱 종료의 경우)
3. 복구
데이터를 덮어쓰는 방식이 시간이 훨씬 적게 걸린다.
- 유효한 파일인지 (파일명, 파일 리스트)
- 백업 파일이 있는지 확인 (파일 앱 안에 있는지 확인)
- 최신 백업 버전인지 (버전 체크)
- realm version 체크 - db table이 충돌나지 않도록 신경쓰는 작업도 필요
UIDocumentPickerViewController 활용해서 백업, 복구
- 압축 파일이 있어야 한다. (압축 라이브러리 사용하기)
- 압축 파일을 UIActivityViewController로 전달한다.
- UIDocumentPickerViewController, Delegate를 이용해서 기능을 구현한다.