при попытке поделиться контентом через Почту или Сообщение (используя UIActivityViewController) экран «зависает» при попытке закрыть представление «Почта» или «Сообщение» после действия отправки или отмены.
Консоль ничего не показывает.Однако кажется, что представление моего начального ViewController застревает в цикле, вызывающем layoutSubviews ().
Снимок экрана замороженного экрана
Вот моя функция, которая представляет UIActivityViewController:
func displayShareSheet(shareContent:String) {
self.service.AnalyticsActionShareFeedback()
let shareView = UIView(frame: self.view.bounds)
let bgImageView = UIImageView(frame: shareView.bounds)
bgImageView.image = self.backgroundImage.image
bgImageView.clipsToBounds = true
shareView.addSubview(bgImageView)
let viewCopy = UIImageView(image: UIImage(view: view))
shareView.addSubview(viewCopy)
let shareImage = UIImage(view: shareView)
let activityViewController = UIActivityViewController(activityItems: [shareContent as NSString, shareImage as UIImage], applicationActivities: nil)
activityViewController.completionWithItemsHandler = {(act, success, a, error) in
print("Activity dismissed")
}
activityViewController.excludedActivityTypes = [.addToReadingList, .airDrop, .assignToContact, .openInIBooks, .postToFacebook, .postToTwitter, .postToVimeo, .postToWeibo, .postToFlickr, .saveToCameraRoll]
let subject = "Received Feedback via MyFeedback"
activityViewController.setValue(subject, forKey: "Subject")
if let popoverController = activityViewController.popoverPresentationController {
popoverController.sourceView = self.view
popoverController.sourceRect = CGRect(x: self.view.bounds.midX, y: self.view.bounds.midY, width: 0, height: 0)
popoverController.permittedArrowDirections = []
}
DispatchQueue.main.async {
self.present(activityViewController, animated: true, completion: {
print("Activity shown")
})
}
}
Есть идеи?РЕДАКТИРОВАТЬ: Снимок экрана при приостановке выполнения: Снимок экрана при приостановке выполнения