UIAlertController is Crashed (iPad) UIAlertController is Crashed (iPad) ios ios

UIAlertController is Crashed (iPad)


To keep it device independent, rather use it as shown in the snippet below. This code will return nil for popoverPresentationController on an iPhone / compact size device, so you can safely use it in universal projects.

if let popoverPresentationController = shareMenu.popoverPresentationController {    popoverPresentationController.sourceView = self.view    popoverPresentationController.sourceRect = sender.bounds}self.presentViewController(shareMenu, animated: true, completion: nil)


try this code:

shareMenu.popoverPresentationController.sourceView = self.viewshareMenu.popoverPresentationController.sourceRect = CGRectMake(self.view.bounds.size.width / 2.0, self.view.bounds.size.height / 2.0, 1.0, 1.0)self.presentViewController(shareMenu, animated: true, completion: nil)


Swift 4

popoverPresentationController.permittedArrowDirections = .init(rawValue: 0)popoverPresentationController.sourceView = self.viewpopoverPresentationController.sourceRect = CGRect(x: self.view.bounds.midX, y: self.view.bounds.midY, width: 0, height: 0)