Swift
Swift

Reputation: 1184

When i tap on image button for UIImagePicker galary to pick image in iPad then app is crashing why?

I am using UIImagePicker for picking images, it forks fine for iPhone gallery to pick images. but when i test app in iPad in xcode here when i tap on image button then app is crashing, i dont know why.

here is the code:

 @IBAction func addProfileBtnAction(_ sender: Any) {

   let actionSheetController: UIAlertController = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)

   //Create and add the Cancel action
   let cancelAction: UIAlertAction = UIAlertAction(title: "Cancel", style: .cancel) { action -> Void in
       //Just dismiss the action sheet
   }
   actionSheetController.addAction(cancelAction)
   //Create and add first option action
   let takePictureAction: UIAlertAction = UIAlertAction(title: "TakePhoto", style: .default) { action -> Void in
       //Code for launching the camera goes here
       self.openCameraPicker()
   }
   actionSheetController.addAction(takePictureAction)
   //Create and add a second option action
   let choosePictureAction: UIAlertAction = UIAlertAction(title: "ChooseFromLibrary", style: .default) { action -> Void in
       //Code for picking from Gallery  goes herece
       self.openPhotoGallery()
   }
   actionSheetController.addAction(choosePictureAction)
   //Present the AlertController
   self.present(actionSheetController, animated: true, completion: nil)
   }
   func openCameraPicker() {
   picker.sourceType = UIImagePickerController.SourceType.camera
   picker.cameraCaptureMode = .photo
   picker.modalPresentationStyle = .fullScreen
   present(picker,animated: true,completion: nil)
   }
  func openPhotoGallery() {
   picker.sourceType = .photoLibrary
   picker.mediaTypes = UIImagePickerController.availableMediaTypes(for: .photoLibrary)!
   present(picker, animated: true, completion: nil)
   }
  // MARK: - UIImagePickerControllerDelegate Methods
  func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
   if let image = info[UIImagePickerController.InfoKey.originalImage] as? UIImage {
       //pickedImage  = image
       imgPick.image = image
   }
   dismiss(animated: true, completion: nil)
  }
 func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
   dismiss(animated: true, completion: nil)
 }

i have checked the crash point by giving breakpoint, when it comes to openPhotoGallery() then its crashing.

UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.

The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in may also be helpful.

please help me with the code. to pic images from iPad gallery as well.

Upvotes: 0

Views: 58

Answers (1)

Picode
Picode

Reputation: 1158

For iPad add your code :

(under the let actionSheetController: UIAlertController = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet) line)

actionSheetController.popoverPresentationController?.sourceView = self.yourView

Hope it helps...

Upvotes: 1

Related Questions