여러개의 이미지 select하기 🍒 (UIImagePickerController, PHPickerViewController)
Opened this issue · 0 comments
여러개의 이미지 select 하기
UIImagePickerController
UIImagePickerController : https://developer.apple.com/documentation/uikit/uiimagepickercontroller
애플에서 기본으로 제공하는 UIImagePickerController는 이미지를 한번에 여러장 선택하는 것이 불가능했다.
그래서 요런 라이브러리를 써야한다.
- BSImagePicker : https://github.com/mikaoj/BSImagePicker
- 사용법이 잘 나와 있는 블로그
PHPickerViewController
PHPickerViewController : https://developer.apple.com/documentation/photokit/phpickerviewcontroller
그런데 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)도 제공하지 않아 직접 처리해야 함.
How to use
전체적인 사용법은 UIImagePickerController과 비슷하다.
라이브러리
- 인스타그램like 한 imagepicker : https://github.com/Yummypets/YPImagePicker
Reference
- UIImagePickerController : https://developer.apple.com/documentation/uikit/uiimagepickercontroller
- PHPickerViewController : https://developer.apple.com/documentation/photokit/phpickerviewcontroller
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