Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

실패 가능한 경우에 대해 Alert 예외처리 #126

Merged
merged 19 commits into from
Dec 2, 2024

Conversation

Kyxxn
Copy link
Member

@Kyxxn Kyxxn commented Dec 2, 2024

#️⃣ 연관된 이슈


⏰ 작업 시간

예상 시간 실제 걸린 시간
3 5

📝 작업 내용

  • 책 생성 시 제목없는 경우 Alert
  • 사진 접근 권한 없는 경우 설정 화면으로 Alert
  • 카메라 접근 권한 없는 경우 설정 화면으로 Alert

아직 커스텀 앨범 들어갈 때, 첫번째 셀이 카메라 이미지로 보이지 않는 문제를 해결 못 했습니다


📸 스크린샷

사진 접근 허용 실패 시 Alert 책 생성 시 제목 없는 경우 Alert
사진 접근 허용 실패 시 Alert 책 생성 시 제목 없는 경우 Alert

📚 리뷰 노트

UX를 많이 고려했어용, 유저가 권한이 없더라도 커스텀 앨범에 진입은 되어야 할 것 같았고,
설정으로 가거나, 취소 눌러서 Pop 되게 구현했습니다 !!

커스텀 앨범(사진 & 동영상) 들어올 때 접근 권한 로직

권한을 한 번도 물어보지 않은 유저

  1. viewDidLoad 시점에서 checkThumbnailAuthorization를 물어봄
    2-1. 권한 성공 시 Input 요청을 보내, Output으로 collectionView를 Reload해서 앨범을 바로 보여줌
    2-2. 권한 없는 경우, 바로 PopViewController

권한이 없는 유저

  1. 권한이 없는 경우 167번 줄에 의해 Alert를 띄우고 바로 PopViewController

@Kyxxn Kyxxn added the 🛠️ Fix 오류, 버그 수정 label Dec 2, 2024
@Kyxxn Kyxxn added this to the 0.5 milestone Dec 2, 2024
@Kyxxn Kyxxn self-assigned this Dec 2, 2024
@Kyxxn Kyxxn linked an issue Dec 2, 2024 that may be closed by this pull request
Comment on lines +149 to +173
private func checkThumbnailAuthorization() {
let authorization = PHPhotoLibrary.authorizationStatus()

switch authorization {
case .notDetermined:
PHPhotoLibrary.requestAuthorization(for: .readWrite) { @Sendable [weak self] status in
Task { @MainActor in
guard let self = self else { return }
if status == .authorized || status == .limited {
self.input.send(.viewDidLoad(mediaType: self.mediaType))
} else {
self.navigationController?.popViewController(animated: true)
}
}
}
case .authorized, .limited:
input.send(.viewDidLoad(mediaType: mediaType))
case .restricted, .denied:
showRedirectSettingAlert(with: .image)
MHLogger.info("앨범 접근 권한 거부로 뷰를 닫았습니다.")
default:
showRedirectSettingAlert(with: .image)
MHLogger.error("알 수 없는 권한 상태로 인해 뷰를 닫았습니다.")
}
}
Copy link
Member Author

@Kyxxn Kyxxn Dec 2, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

UX를 많이 고려했어용, 유저가 권한이 없더라도 커스텀 앨범에 진입은 되어야 할 것 같았고,
설정으로 가거나, 취소 눌러서 Pop 되게 구현했습니다 !!

커스텀 앨범(사진 & 동영상) 들어올 때 접근 권한 로직

권한을 한 번도 물어보지 않은 유저

  1. viewDidLoad 시점에서 checkThumbnailAuthorization를 물어봄
    2-1. 권한 성공 시 Input 요청을 보내, Output으로 collectionView를 Reload해서 앨범을 바로 보여줌
    2-2. 권한 없는 경우, 바로 PopViewController

권한이 없는 유저

  1. 권한이 없는 경우 167번 줄에 의해 Alert를 띄우고 바로 PopViewController

Copy link
Collaborator

@k2645 k2645 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

우리팀 QA담당.. 쵝오.. 꼼꼼하셔서 리뷰할게 없네영 .ᐟ.ᐟ 최고입니당 .ᐟ.ᐟ 🥹👍

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

캬.. 너무 좋네여 Alert ViewController ..

@Kyxxn Kyxxn merged commit 22dfce6 into develop Dec 2, 2024
2 checks passed
@Kyxxn Kyxxn deleted the feature/upload-video branch December 2, 2024 19:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🛠️ Fix 오류, 버그 수정
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants