Сбой UIAlertController в настоящее время - PullRequest
1 голос
/ 25 апреля 2019

Я сталкиваюсь со странным сбоем. При использовании UIAlertController.

сбой происходит, когда на экране отображается UIAlertController.

Вот код ошибки: CoreGraphics CGColorSpaceEqualToColorSpaceIgnoringRange

Я сделал более простую версию кода, которая по-прежнему вызывает сбой в 100% случаев.

В моем контроллере

  @IBAction func handleSaveOrCreate(_ sender: Any) {
    self.showAlert("Test")
  }

Вот код, если showAlert

  public func showAlert(_ title: String?) {
    let alertController = UIAlertController(title: title, message: nil, preferredStyle: .alert)
    self.present(alertController, animated: true, completion: nil)
  }

Контроллер относится к классу AdPeriodViewController

, который успешно отображается с этим кодом

  let vc : AdPeriodViewController = AdPeriodViewController.instance() as! AdPeriodViewController
  self.navigationController?.pushViewController(vc, animated: true)

IBAction запускается событием TouchUpInsideUIButton

Я компилирую в swift 4.2 и запускаю свой тест на iPhone 6S + под управлением iOS 12.2

Этот сбой, кажется, происходит только на iOS 12 -> (случается 101 для более чем70 пользователей за последние 7 дней)

* Редактировать для Lame * ScreenShot of the stask

Чтобы не ограничивать этот ярлык showAlert вот что я сделал:

  let alertController =  UIAlertController(title: "title", message: "message", preferredStyle: .alert)
  print(alertController.title) // display Optional("title")
  print(alertController.message) // display Optional("message")
  alertController.addAction(UIAlertAction(title: "btnTitle", style: .default, handler: {(alertAction) in print("btnClicked")}))
  self.present(alertController, animated: true, completion: nil)

Еще больше - если я изменю preferred style на .actionSheet сбой исчезнет

...