그런데 2020 WWDC 에서 PHPickerViewController 를 공개했고, 애플에서는 이를 UIImagePickerController 의 alternative 라고 표현했다.
The PHPickerViewController class is an alternative to UIImagePickerController. PHPickerViewController improves stability and reliability, and includes several benefits to developers and users, such as the following:
그리고, PHPickerViewController 는 다음과 같은 기능을 제공한다.
Multiple Selection
Search
Albums
Zoom in / out
여기서 주목할건 바로 Multiple Selection이 가능하다는 것이다!
그리고 다음과 같은 특징도 있다.
iOS 14+ 지원
UIKit에 포함되었던 UIImagePickerController와는 다르게 PhotosUI라는 프레임워크에 포함되어 있음
장점
Permission 요청이 필요 없다.
검색이 가능하다 : 날짜, 장소, 업체 이름, 카테고리, 이벤트, 사람 등
grid 레이아웃의 Zoom In/Out
콘텐츠 다중 선택
원문
따라서 기존에는 gird 레이아웃의 Zoom In/Out, 컨텐츠 다중 선택 등이 필요할 때 직접 구현해야 했습니다. 특히, 다중 선택 기능은 사진을 다루는 대부분의 앱에서 필요로 하기에 필수적인 구현 항목으로 존재해왔습니다. PHPickerViewController는 이를 기본적으로 지원하므로 불필요한 코드를 지울 수 있습니다.
Permission을 요청하는 코드도 삭제할 수 있습니다. 왜냐하면 Permission 자체를 요청하지 않기 때문입니다. 요청하는 코드와 예외 처리 구문을 모두 삭제할 수 있으니 큰 이점으로 다가옵니다.
단점
UIImagePickerController의 카메라 사용과 사진을 편집하는 기능을 제공하지 않는다
비디오 자동 압축(automatic compression)도 제공하지 않아 직접 처리해야 함.
여러개의 이미지 select 하기
UIImagePickerController
애플에서 기본으로 제공하는 UIImagePickerController는 이미지를 한번에 여러장 선택하는 것이 불가능했다. 그래서 요런 라이브러리를 써야한다.
PHPickerViewController
그런데 2020 WWDC 에서 PHPickerViewController 를 공개했고, 애플에서는 이를 UIImagePickerController 의 alternative 라고 표현했다.
그리고, PHPickerViewController 는 다음과 같은 기능을 제공한다.
여기서 주목할건 바로 Multiple Selection이 가능하다는 것이다!
그리고 다음과 같은 특징도 있다.
장점
Permission 요청이 필요 없다.
검색이 가능하다 : 날짜, 장소, 업체 이름, 카테고리, 이벤트, 사람 등
grid 레이아웃의 Zoom In/Out
콘텐츠 다중 선택
단점
How to use
전체적인 사용법은 UIImagePickerController과 비슷하다.
라이브러리
Reference
https://www.youtube.com/watch?v=yBHpKuTvfdA https://zeddios.tistory.com/1052 https://jeong9216.tistory.com/161 https://rockyshikoku.medium.com/select-multiple-photos-from-iphone-photo-library-phpickerviewcontroller-986257d4d7db