2017-03-24 42 views
0

//檢查授權相機選項中的設置被禁用,但得到PHAuthorizationStatus作爲PHAuthorizationStatusAuthorized

PHAuthorizationStatus status = [PHPhotoLibrary authorizationStatus]; 

if (status == PHAuthorizationStatusAuthorized) { 
    // Access has been granted. 

} 
else if (status == PHAuthorizationStatusDenied) { 
    // Access has been denied. 

} 
else if (status == PHAuthorizationStatusNotDetermined) { 
    // Access has not been determined. 
    [PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status) { 
     if (status == PHAuthorizationStatusAuthorized) { 
      // Access has been granted. 

     } 
     else { 
      // Access has been denied. 

     } 
    }]; 
} 
else if (status == PHAuthorizationStatusRestricted) { 
    // Restricted access - normally won't happen. 

} 

我已在Info.plist的按鍵都爲相機和照片仍然得到同樣的結果。

回答

0

你應該用另一種方法來檢查相機授權狀態:

NSString *mediaType = AVMediaTypeVideo; 
AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:mediaType]; 
if(authStatus == AVAuthorizationStatusAuthorized) { 
    // do your logic 
} else if(authStatus == AVAuthorizationStatusDenied){ 
    // denied 
} else if(authStatus == AVAuthorizationStatusRestricted){ 
    // restricted, normally won't happen 
} else if(authStatus == AVAuthorizationStatusNotDetermined){ 
    // not determined?! 
    [AVCaptureDevice requestAccessForMediaType:mediaType completionHandler:^(BOOL granted) { 
    if(granted){ 
     NSLog(@"Granted access to %@", mediaType); 
    } else { 
     NSLog(@"Not granted access to %@", mediaType); 
    } 
    }]; 
} else { 
    // impossible, unknown authorization status 
} 

Link to related question

+0

謝謝,它工作得很好! –

相關問題