Наиболее вероятная причина для storyBoard.instantiateInitialViewController
возврата nil заключается в том, что ваша раскадровка не имеет начального контроллера представления. Вы можете выбрать VC в раскадровке и установить флажок «Is Initial View Controller», чтобы сделать его начальным контроллером представления:
Обратите внимание, что если вы установите раскадровку в качестве "Основного интерфейса" в настройках вашего проекта, то начальный VC будет отображаться автоматически.
Чтобы избежать этого, измените этот параметр на пустую строку:
В качестве альтернативы, вы можете дать своему VC идентификатор в инспекторе идентичности:
И используйте instantiateViewController(withIdentifier)
вместо
storyBoard.instantiateViewController(withIdentifier: "MyVC")