2017-10-09 6 views
1

UIImagePickerControllerで写真を選択すると、プライバシーダイアログを表示しないために店舗から拒否されたアプリがあります。 私は別のプロジェクトを試してみて、下のコードを貼り付けても、まだプライバシーに関する警告が表示されていません。iOS 11 UIImagePickerControllerがプライバシー警告を表示しない - 表示権限ダイアログを強制する方法?

ユーザーがボタンをタップして写真を選択すると、カメラロールのリストが表示され、写真を選択できます。この操作の前にアラートを除いてすべてが機能し、ユーザーに操作が許可されていないことが表示されます。

アプリの提出時に、エラーや警告はありませんでした。アプリレビューチームだけが、アラートを表示しないようにすることを拒否しました。

写真ライブラリにアクセスする前に、アプリがプライバシーの警告を表示するようにするにはどうすればよいですか?

- (IBAction)pickAction:(id)sender { 

    UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init]; 
    imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
    imagePickerController.delegate = self; 
    [self presentViewController:imagePickerController animated:YES completion:nil]; 

} 

<key>NSPhotoLibraryUsageDescription</key> 
    <string>To pick photos for analysis</string> 

私はSwift3とブランドの新しいプロジェクトを試してみましたが、また次のコードを持つ任意のプライバシー/許可警告ダイアログなっていない午前:iOSの11はフォトライブラリのオブジェクトを持つ新しい「写真」の枠組みを導入し

var imagePicker = UIImagePickerController() 

    @IBAction func btnClicked() { 

     if UIImagePickerController.isSourceTypeAvailable(.savedPhotosAlbum){ 
      print("Button capture") 

      imagePicker.delegate = self 
      imagePicker.sourceType = .savedPhotosAlbum; 
      imagePicker.allowsEditing = false 

      self.present(imagePicker, animated: true, completion: nil) 
     } 
    } 

    func imagePickerController(picker: UIImagePickerController!, didFinishPickingImage image: UIImage!, editingInfo: NSDictionary!){ 
     self.dismiss(animated: true, completion: {() -> Void in 

     }) 

//  imageView.image = image 
    } 

答えて

1

を明示的にユーザーからの許可を要求できる:

あなたはこのように使用する必要があります:

import Photos 
class ViewController: UIViewController { 
    override func viewDidLoad() { 
     PHPhotoLibrary.requestAuthorization { (status) in 
      switch status { 
      case .authorized: 
       print("authorized") 
      case .denied: 
       print("denied") 
      default: 
       print("default") 
      } 
     } 
    } 
} 
関連する問題