2012-12-20 88 views

回答

2

該對話框不受應用程序控制,因此沒有API。

您可以在設置應用程序(IIRC)中將用戶重置爲用戶,但不能使用編程方式。


爲了得到當前授權狀態:

[ALAssetsLibrary authorizationStatus]; 

(+ (ALAuthorizationStatus)authorizationStatus) 

此外,方法來獲取資產採取訪問錯誤塊,例如:

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

感謝您的回覆..請你能告訴我如何處理,只是爲了提醒用戶他/她阻止了訪問。 –

+0

added ..你只是檢查authorizationStatus,如果它是'ALAuthorizationStatusDenied'顯示'UIAlertView' –

+0

[ALAssetsLibrary authorizationStatus]只適用於iOS6和更高版本。在iOS5和iOS6下工作的方法是調用AssetsLibrary的enumerateGroupsWithTypes:usingBlock:failureBlock:。如果失敗塊返回ALAssetsLibraryAccessUserDeniedError或ALAssetsLibraryAccessGloballyDeniedError,則用戶尚未授予對照片庫/位置服務的訪問權限。 – holtmann

3

沒有辦法展現該許可第二次提示。

處理權限提示的最佳方式是,您應該在觸發權限提示(在AssetsLibrary框架中爲read:call方法)之前向用戶解釋。如果用戶仍然點擊「不允許」,那麼您應該通過設置應用程序告訴用戶他/她如何授予權限,因爲您無法再次調用提示。