Asset
Asset Collection
→ Asset Collection 하나에 여러 Asset 들이 있는 형태
Collection List
Collection List > Asset Collection > Asset
→ PHAsset, PHAssetCollection, PHCollectionList 의 인스턴스는 Photo app 에서 Asset (이미지, 비디오, 라이브 포토), 에셋 컬렉션(앨범, 특별한 순간) 및 사용자가 작업하는 항목을 나타낸다.
note: Collection List (앨범 폴더, 특별한 순간 등)은 읽기 전용임. 변경 불가 → Meta data 만 포함
PHPhotoLibrary 객체를 사용하여 사진 콘텐츠에 접근하고, 에셋 및 컬렉션을 변경할 수 있도록 애플리케이션의 사용자 권한을 얻는다. 권한을 얻으면 사진 라이브러리가 변경될 때 변경사항을 전달받을 수 있음.
에셋 검색과 조사
이 모델 클래스는 사진 라이브러리의 콘텐츠(에셋, 컬렉션)을 나타낸다. 읽기 전용이며 변경 불가능하며 메타 데이터만 포함한다. 에셋과 컬렉션을 사용하려면 이 클래스를 사용하여 지정한 쿼리와 일치하는 객체를 가져온다
PHAsset
사진 라이브러리의 이미지, 비디오, 라이브 포토를 나타냅니다.
PHAssetCollection
특별한 순간, 사용자정의 앨범 또는 스마트 앨범과 같은 사진, 에셋 그룹을 나타냅니다.
PHCollectionList
특별한 순간, 사용자정의 앨범, 특별한 순간들 연도와 같은 에셋 컬렉션이 포함된 그룹을 나타냅니다.
PHCollection
에셋 컬렉션 및 컬렉션 리스트의 추상 수퍼 클래스입니다.
PHObject
모델 객체(에셋 및 컬렉션)의 추상 수퍼 클래스입니다.
PHFetchResult
가져오기 메서드에서 반환된 에셋 또는 컬렉션의 정렬된 목록입니다.
PHFetchOptions
에셋 또는 컬렉션 객체를 가져올 때 Photos에서 반환하는 결과에 필터링, 정렬 등 영향을 주는 옵션입니다.
에셋 콘텐츠 로딩
이 클래스를 사용하여 이미지, 비디오, 라이브 포토 콘텐츠를 요청할 수 있다.
PHImageManager
미리보기 썸네일 및 에셋과 전체 크기의 이미지 또는 비디오 데이터를 검색하거나 생성하는 방법을 제공합니다.
PHCachingImageManager
많은 에셋을 일괄적으로 미리 로딩하기 위해 최적화된 에셋과 관련된 섬네일 및 전체 크기의 이미지 또는 비디오 데이터를 검색하거나 생성하는 방법을 제공합니다.
PHImageRequestOptions
이미지 매니저로부터 요청한 에셋 이미지의 영향을 주는 옵션들입니다.
PHVideoRequestOptions
이미지 매니저로부터 요청한 비디오 에셋 데이터의 영향을 주는 옵션들입니다.
PHLivePhotoRequestOptions
이미지 매니저로부터 요청한 라이브 포토 에셋의 영향을 주는 옵션들입니다.
PHLivePhoto
캡처 직전과 직후 순간의 움직임 및 소리가 포함된 라이브 사진을 표현합니다.
변경 요청
에셋이나 컬렉션을 변경하려면 변경 요청 객체를 만들고 명시적으로 사진 라이브러리에 반영합니다. 이 방법을 사용하면 여러 스레드 또는 여러 애플리케이션 및 애플리케이션 확장에서 같은 에셋을 가지며 쉽고, 안전하며 효율적으로 작업할 수 있습니다.
PHAssetChangeRequest
사진 라이브러리 변경 블록(클로저)에서 사용하기 위해 에셋의 생성, 삭제, 메타 데이터 수정할 변경 요청 객체입니다.
PHAssetCollectionChangeRequest
사진 라이브러리 변경 블록(클로저)에서 사용하기 위해 에셋 컬렉션을 생성, 삭제, 수정할 변경 요청 객체입니다.
PHCollectionListChangeRequest
사진 라이브러리 변경 블록(클로저)에서 사용하기 위해 컬렉션 리스트 생성, 삭제, 수정할 변경 요청 객체입니다.
에셋 콘텐츠 수정
애플리케이션 또는 확장 프로그램에서 이 클래스들을 사용하여 사진 라이브러리의 편집 및 반영을 위해 에셋 데이터에 접근합니다. 사진들은 각 수정 사항을 버전별로 에셋 및 보정 데이터를 관리 하므로 애플리케이션 또는 확장 프로그램을 사용하여 다른 기기에서도 이전에 수정한 내용을 되돌리거나 계속 사용할 수 있습니다. 사진 편집 확장기능을 만들려면 이 클래스들과 PhotosUI
프레임워크와 같이 사용하세요.
PHContentEditingInput
편집할 에셋의 이미지, 비디오, 라이브 포토의 콘텐츠에 대한 정보와 접근 권한을 제공하는 컨테이너입니다.
PHContentEditingOutput
에셋의 사진, 비디오, 라이브 포토의 콘텐츠를 편집한 결과를 제공하는 컨테이너입니다.
PHAdjustmentData
편집 효과를 재구성하거나 되돌릴 수 있는 에셋의 사진, 비디오, 라이브 포토 콘텐츠의 수정사항에 대한 설명입니다.
위 내용은 "https://www.boostcourse.org/mo326/lecture/16867" 을 참고하여 공부한 내용을 개인적으로 정리하였습니다.