티스토리 뷰
반응형
앨범 접근 제한상태에서 이를 해지시키고, 권한을 취득하기 위한 예외처리가 필요하다.
다음 처리 방식은 권한이 없을경우 바로 시스템 설정페이지로 이동 시키거나, 사진 선택 매서드를 호출하도록 되어있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | #import <Photos/Photos.h> - (void)selectPhotos { [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{ } completionHandler:^(BOOL success, NSError *error) { if (error) { [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]]; }else{ [self takePhoto]; } }]; } |
카메라 접근 제한 시 예외처리는 다음과 같이 하였다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | - (void)selectCamera { if ([AVCaptureDevice respondsToSelector:@selector(requestAccessForMediaType: completionHandler:)]) { [AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL granted) { if (granted) { dispatch_async(dispatch_get_main_queue(), ^{ [self takePicture]; }); } else { [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]]; } }]; } else { [self takePicture]; } } |
1. 권한이 없는 상태에서 권한을 승인할 경우 앱이 재실행된다.
2. 권한을 주지 않고 이전 앱으로 이동 시 변경되는 것은 없다.
참고 : Block Code를 통한 권한 체크를 했을 경우에는 권한 변경 시 자동으로 앱이 재실행 되지만, 매서드나, State값을 통한 if 문 처리 시에는 앱에서 아무런 변화도 없으며, 변경된 권한 또한 적용되지 않는 문제가 발생한다.
반응형
'iOS > 자료정리' 카테고리의 다른 글
[iOS]Xcode8에서 시스템 Log 가 많이 나올경우 설정방법. (0) | 2016.09.21 |
---|---|
[iOS]sound, movie 재생 시 speak 활성/비활성화 시키기 (0) | 2016.08.16 |
[iOS]이미지 캐싱작업 - Haneke 사용하여 처리하기. (0) | 2016.06.24 |
[iOS]NSCountedSet 사용, NSArray, NSDictionary에서 데이터 유/무 확인. (0) | 2015.12.15 |
[iOS][Mac]시뮬레이터 앱 경로 확인하기. (0) | 2015.11.12 |
댓글
반응형