-
Swift UIView 사진 앨범에 저장하기🧑💻/Swift 2023. 4. 16. 15:25반응형
인스타 스토리 저장 기능 처럼 화면을 사진 앨범에 저장하는 기능을 만들어 봅시다.
직접 만든 감정 카드를 이미지로 저장하는 기능을 만들려 합니다.
사진 권한 확인하기
우선 사진을 저장하려면 권한이 필요합니다.
Info.plist에 Privacy - Photo Library Additions Usage Description Key를 추가합니다.
Photos framework를 import 하여 사진 앨범 권한을 체크합니다.
PHPhotoLibrary.authorizationStatus 함수 실행 시 PHAuthorizationStatus 값이 리턴되는데요.
사용자가 권한을 선택(허용/거부)한 순간 ! notDetermined 값으로 돌아갈 수 없습니다.
사용자가 권한을 거부하면 설정 화면으로 가서 허용을 누르도록 권고 창만 띄울 수 있습니다.
이미지 저장하기
이미지를 저장하는 UIImageWriteToSavedPhotosAlbum 함수 호출 시 세번째 인자에 이미지 저장 후 호출될 함수를 지정할 수 있습니다.
UIImage, Error? UnsafeRawPointer를 Parameter로 넣은 imageSaved 함수를 구현합니다.저는 이미지 저장 후 저장 완료 Dialog를 띄우기 위해 imageHandler를 추가했습니다.
어 ? 근데 UIImageWriteToSavedPhotosAlbum 는 UIImage를 저장하도록 되어있는데 UIView를 어떻게 저장했지?
UIView를 UIImage로 변환하기
UIView를 Extension하여 UIImage로 변환하는 함수를 생성했습니다.
전체 코드
반응형