MONDAIT

이 글은 iPhone Photo Library Indexing Reset 으로 검색해도 들어올 수 있습니다. 

 

애플의 아이클라우드 사진 라이브러리는 사용자가 신경쓰지 않도록 항상 자동으로 관리되고 있지만 가끔 원치 않는 동작이나 오류를 발생시키기도 한다. iOS 의 폐쇄적인 파일 시스템 탓에 라이브러리를 수동으로 관리할 수 있는 방법은 없지만, 우리가 겪는 대부분의 오류를 해결시켜줄 좋은 방법이 있다. 

아이폰 유저라면 사진의 이동이나 백업에 대해 난감했던 적이 많을 것이다. 각종 클라우드와 외장하드를 통해 백업하는 경우가 많겠지만 이는 완전한 백업이라 보기 어렵다. 예를 들어 인물 모드 사진의 심도 정보는 HEIC 원본과 AAE 메타 데이터 두 개의 파일로 저장이 되는데 이를 완전하게 백업 및 복원시킬 수 있는 방법은 아이클라우드 혹은 아이튠즈 뿐이다. 따라서 아이클라우드 사진 보관함에 문제가 생기거나 꼬였다는 생각이 든다면 사진을 전부 지우기보다 사진 라이브러리 인덱싱 초기화를 먼저 시도하길 권한다. 

사진 라이브러리 인덱싱을 초기화하면 다음과 같은 문제도 해결할 수 있다:

_ 아이폰에서 사진을 삭제해도 실제로 지워지지 않는 경우
_ 앱에서 자동으로 생성된 사진 앨범이 중복되어 보이는 경우
_ 서로 다른 얼굴이 동일 인물로 인식되는 경우
_ 위치 정보가 수정된 사진이 제대로 인식되지 않는 경우

사진 라이브러리 인덱싱을 초기화하기 위해서는 iMazing 2 라는 프로그램이 필요하다. iMazing 2 는 Mac 과 Windows 를 모두 지원하며, 파일 시스템을 열기 위해선 무료 기능으로도 충분하다. 

https://imazing.com/ko

아이폰을 컴퓨터에 연결하기 앞서 즐겨찾는 항목에 등록된 사진을 해제한 후, 모든 사진을 임시로 삭제한다. 이렇게 삭제된 모든 사진은 30일간 최근 삭제된 항목에 보관되며 아직 복구할 수 있다. 아이폰의 사진을 전체 삭제하기 위해서는 사진 탭에서 가장 최근 사진을 누른 채 시계 부분을 터치하여 선택하면 된다. 만약 사진이 실제로 삭제될까봐 걱정된다면 Mac 이미지 캡쳐 또는 Windows 사진 앱을 통해 백업해두면 되겠다. 

아이폰과 컴퓨터를 연결하고 새로운 컴퓨터를 신뢰하도록 설정한 뒤 iMazing 을 실행시키면 좌측에 아이폰이 보인다. 만약 맥을 사용하고 있고 이전에 이 컴퓨터를 연결하여 신뢰한 적이 있다면 동일 네트워크에만 연결되어 있어도 무선으로 접속할 수 있다. 컴퓨터를 연결하기 전 사진과 카메라에 관련된 모든 앱을 완전히 종료해야 한다. 

탭 최하단의 File System 항목을 클릭한 후 Media > PhotoData 디렉토리로 이동하면 아래와 같은 파일들이 보일 것이다. 여기서 Photos.sqlite, Photos.sqlite-shm, Photos.sqlite-wal 세 파일을 삭제한다. 

AlbumsMetadata 폴더와 FacesMetadata 폴더에서 모든 파일을 선택한 후 삭제한다. 이 파일들은 각각 앨범 데이터와 얼굴 데이터를 관리한다. 또 Metadata > DCIM > 10XAPPLE 폴더를 각각 클릭하여 각 폴더의 모든 파일을 삭제한다. 이 파일들은 비디오의 썸네일을 저장한다. 폴더를 통채로 지울 경우 사진 라이브러리에 영구적인 문제가 생길 수 있다. 아이클라우드에서 사진이 완전히 다운로드되지 않은 경우에도 썸네일이 이 곳에 저장된다. 

여기서부터는 선택 사항이다. MISC 폴더로 이동하여 DCIM_APPLE.plist 를 연다. 이 파일은 운영체제의 기본 텍스트 에디터로 열 수 있다. 위쪽 integer 태그 안의 항목은 사진이 저장되는 원본 폴더명에 영향을 미치며, 아래쪽 integer 태그 안의 항목은 사진 파일명의 IMG_XXXX.heic 와 같은 네 자리 번호에 영향을 미친다. 예를 들어 위 스크린샷에서 아래쪽 integer 태그 안의 항목은 4169 이므로 새로 찍은 사진의 파일명은 IMG_4170.heic 로 저장될 것이다. 만약 이전 아이폰에서 신규 아이폰으로 마이그레이션할 때 아이클라우드 복원 없이 사진만 따로 동기화했다면 파일명이 중복될 수 있는데, 이게 거슬린다면 이 수를 바꾸어 피할 수 있다.

여기서 알아두어야 할 것은:

_ 위쪽 수의 마지막 자리 숫자와 아래쪽 수의 첫 숫자가 일치해야 한다.
_ 아래쪽 integer 태그 안의 항목을 기존보다 작은 수로 바꾸면 파일명의 충돌이 일어날 수 있어서 좋지 않다.
_ 애플의 사진 관리 시스템은 IMG_N000 꼴의 사진 파일명을 지원하지 않는다. 

이제 아이폰을 재부팅한 후 휴지통에서 사진을 전체 선택하여 복구하면 된다. 만약 아이클라우드를 사용하여 동기화하는 다른 iOS 디바이스가 있다면 동일 과정을 수행한다. 디바이스를 오프라인으로 만들고 아이폰의 사진 인덱싱이 끝난 후 아이클라우드 동기화를 시켜도 대부분의 증상이 사라지지만 찌꺼기 파일이 남을 수 있다. 아이클라우드와 동기화되는 PC 또는 Mac 은 신경쓰지 않아도 된다.