0
ユーザーが画像を選択またはキャプチャしたときに、自分のアプリケーションのカメラと写真のアクセス許可を確認しています。 私はこのコードを使用しています。ユーザーがiOSでアクセスを許可しないときにimagePickerを終了する方法
-(void)choosePhotoFromExistingImages
{
ALAuthorizationStatus status = [ALAssetsLibrary authorizationStatus];
if (status == ALAuthorizationStatusDenied || status == ALAuthorizationStatusRestricted) {
[APPDELEGATE showAlertViewForPhotos];
//show alert for asking the user to give permission
}
else{
if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypePhotoLibrary])
{
UIImagePickerController *controller = [[UIImagePickerController alloc] init];
controller.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
controller.allowsEditing = YES;
controller.mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeImage, nil] ;
controller.delegate = self;
[self presentViewController: controller animated: YES completion: nil];
}
}
}
コードが正常に動作しているが、ユーザー初めてのフォトライブラリには、それはカメラで何が起こって、これと同じことのように黒い画面を表示しないようにしてください選択した場合。 私が必要としているのは、ユーザーが画像をクリックすると許可されないということです。そのユーザーが許可をキャンセルしていることを確認できるので、imagepickerまたはカメラを閉じることができます。
はいをチェックするために
ALAssetsLibrary authorizationStatus
を使用することができ、ユーザはまだそこに、その後の私のイメージピッカーやカメラを初めて許可されていません]を選択だけでなく、どのような場合に、I – guru"あなたが持っている唯一のオプションは、authorizationStatusがALAuthorizationStatusNotDeterminを返すかどうかを確認することです。そうであれば、ALAssetsLibrary enumerateGroupsWithTypes:usingBlock:failureBlock:を使用し、結果を待ってください。それがALAuthorizationStatusDeniedの場合は、ユーザーが「Do not Al "低い" – Proton
ありがとうございました。カメラでも同じことができますか? – guru