728x90
UIImagePicker와 PHPicker로 앱을 만드려고 하다보면 .. 생각보다 제한이 많을 수 있다 ..
그래서 오픈라이브러리를 사용하게 되는데, 그 중 하나가 YPImagePicker다.
Usage
자세한 설치 방법 및 사용법은 깃허브를 통해서 확인할 수 있다.
설치를 한 뒤에 제일 먼저 설정해야 하는 것이 있다.
Info.plist에서 설정을 해야하는 세가지가 있다.
이 때 의문이 드는 것이 하나 있다. 만약 사진 촬영을 하지 않는 경우, Info.plist에서 사진 촬영 접근 권한을 삭제해도 되는 것인가? 라는 의문이다.
🤔 프로젝트에서 사용하지 않는 경우는 접근 권한을 추가 하지 않아도 괜찮지 않을까?
사실 이 내용때문에 이 글을 쓰게 되었다.
결론부터 말하자면 NOPE !! 안된다.
프로젝트 내 코드에서는 사진 촬영 관련 코드를 작성하지 않더라도, YPImagePicker에서 사진 촬영 관련 코드를 작성하고 있기 때문에 Info.plit에서 설정을 해야 한다.
안그러면 .. 리젝 당한다 !!!!
Info.plist 설정을 다 했다면, 이제 사진촬영/갤러리 접근을 하는 곳에 가서 코드를 구현하면 된다.
나는 아래와 같이 버튼을 눌렀을 때 코드가 실행되도록 작성했다.
@IBAction func YPImagePickerButtonClicked(_ sender: UIButton) {
let picker = YPImagePicker()
picker.didFinishPicking { [unowned picker] items, _ in
if let photo = items.singlePhoto {
// 사진을 고르고 나서 아래의 코드 실행
print(photo.fromCamera) // Image source (camera or library)
print(photo.image) // Final image selected by the user
print(photo.originalImage) // original image selected by the user, unfiltered
print(photo.modifiedImage) // Transformed image, can be nil
print(photo.exifMeta) // Print exif meta data of original image.
// 사진을 골랐다면, 화면의 이미지뷰에 고른 사진이 보여지도록 설정
self.resultImageView.image = photo.image
}
picker.dismiss(animated: true, completion: nil)
}
present(picker, animated: true, completion: nil)
}
이렇게 하면 사진 촬영 후 해당 사진을 사용할 수도 있고 갤러리에 있는 사진을 선택할 수 있다.
'iOS' 카테고리의 다른 글
백업/복구 (+ 백업 리스트 UI 및 Custom Progress View) (3) | 2022.08.26 |
---|---|
Access Control - Basic to Advanced (0) | 2022.08.16 |
0812 Q&A 정리 (0) | 2022.08.12 |
required init VS override init (0) | 2022.08.10 |
Kakao 다음(Daum) 검색 API 구현 (feat. Expandable Cell) (0) | 2022.08.08 |