티스토리 뷰

반응형



iOS10 사진 접근권한 예외처리.



 - UIImagePickerController를 통해 사진 접근 시 Xcode8에서 빌드시 앱이 죽는 문제가 발생한다.


 - Photo Library 사용 시 권한이 없을경우 바로 시스템 설정으로 점프 하는 것 보다 상태값에 따라 점프 시점을 분기처리한다.



해결방법


 1. info.plist에 Privacy - Photo Library Usage Description 옵션 추가 사진 접근 시 시스템 팝업에 표시 할 사용자 문구를 추가한다.





2. 사진 접근 시 권한이 있는지 확인한다.

 - 최초 권한 요청 시 시스템 얼럿이 발생하기 때문에 설정으로 강제이동 시키지 않는다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
- (void)selectPhotos {
    
    [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
        
    } completionHandler:^(BOOL success, NSError *error) {
 
        DLog(@"error domain : %@", error.localizedDescription);
        
        if (error) {
            
            if ([error.localizedDescription hasSuffix:@"0)"]) {
                //최초 권한 요청 시. domain : Photos Access not allowed (authorization status 0)
            }else{
                //권한이 없을 경우 domain : Photos Access not allowed (authorization status 2)
                [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
            }
        }
        
        if (success) {
            [self takePhoto];
        }
    }];
}
 
cs




반응형
댓글
반응형