2012-12-20 3 views
1

현재 처음으로 권한을 요청하는 alasset을 사용 중입니다. 권한을 두 번째로 또는 사용자가 차단했을 때마다 팝업으로 표시하려면 어떻게 할 수 있습니까?두 번째로 요청할 사진 권한

답변

2

대화 상자가 앱에 의해 제어되지 않으므로 해당 API가 없습니다.

설정 앱 (IIRC)에서 프로그래밍 방식으로 사용자를 재설정 할 수 있습니다.

- (void)assetForURL:(NSURL *)assetURL 
     resultBlock:(ALAssetsLibraryAssetForURLResultBlock)resultBlock 
     failureBlock:(ALAssetsLibraryAccessFailureBlock)failureBlock 
+0

답장을 보내 주셔서 감사합니다. 제발 사용자에게 그/그녀가 액세스를 차단했음을 알리는 메시지를 처리하는 방법을 알려주십시오. –

+0

이 추가되었습니다. authorizationStatus를 확인하고 'ALAuthorizationStatusDenied'가 표시되면'UIAlertView'가 표시됩니다. –

+0

[ALAssetsLibrary authorizationStatus]는 iOS6 이상에서만 작동합니다. iOS5 및 iOS 6에서 작동하는 접근법은 AssetsLibrary의 enumerateGroupsWithTypes : usingBlock : failureBlock :을 호출하는 것입니다. 장애가 ALAssetsLibraryAccessUserDeniedError 또는 ALAssetsLibraryAccessGloballyDeniedError를 반환하면 사용자가 Photo-Library/Location Services에 대한 액세스 권한을 부여하지 않은 것입니다. – holtmann

3

보여줄 수있는 방법은 없습니다 : 액세스 에러 블록, 예를 복용

[ALAssetsLibrary authorizationStatus]; 

(+ (ALAuthorizationStatus)authorizationStatus) 

또한, 방법이 얻을 수있는 자산 :


는 현재 인증 상태를 확인하려면 권한은 두 번째로 프롬프트됩니다.

권한 프롬프트를 처리하는 가장 좋은 방법은 권한 프롬프트를 표시하기 전에 사용자에게 설명해야한다는 것입니다 (AssetsLibrary 프레임 워크의 call 메서드 참조). 사용자가 여전히 "허용하지 않음"을 클릭하면 두 번째로 프롬프트를 호출 할 수 없으므로 설정 응용 프로그램을 통해 권한을 부여 할 수있는 방법을 사용자에게 알려야합니다.

관련 문제