Я испытываю странное поведение моего приложения на iOS 13 .0 и 13.1 , когда Голосовое управление , что приводит к сбою.
viewDidLoad () myViewController вызывается сразу после window.rootViewController = myViewController , а не из main .
Это ведет себятак только при включенном голосовом управлении.Когда голосовое управление отключено, viewDidLoad вызывается из main, как оно должно вызываться.
Например:
Это приведет к вызову viewDidLoad () на iOS 13, если голосовое управление включено
let root = MyViewController.initialize()
window?.rootViewController = UINavigationController(rootViewController: root)
Это будет работать должным образом на iOS 13 с включенным голосовым управлением
let root = MyViewController.initialize()
let mainWindow = UIWindow()
mainWindow.rootViewController = UINavigationController(rootViewController: root)
window = mainWindow
root UIViewController определенно настроен перед присвоением rootViewController , но он также ведет себя так, как будто он не был (только при включенном голосовом управлении) - он имеет нулевые значения в необязательных свойствах, которые заполняются при вызове initialize () в моментчто viewDidLoad () был вызван, что приводит к падению приложения .
И что ж, у меня есть решение для этой проблемы, описанное выше, но меня это беспокоит, так как этоповедение выглядит для меня как ошибка iOS 13.
Если кто-то что-то знает об этом, я хотел бы обсудить это