Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Xcode 11: cannot instantiate view controller from storyboard with identifier

I'm using Xcode 11.1 and my deployment target is iOS 10.0

I can't instantiate a view controller like before. Here is the code in

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]?) -> Bool

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = storyboard.instantiateViewController(identifier: "TabBarController")

I get the error saying:

'instantiateViewController(identifier:creator:)' is only available in iOS 13.0 or newer

How possibly can one instantiate view controllers from storyboard programmatically on Xcode 11.1. Any other way?

like image 395
Suh Fangmbeng Avatar asked Oct 09 '19 06:10

Suh Fangmbeng


2 Answers

You need to use

storyboard.instantiateViewController(withIdentifier: "TabBarController")

the new instantiateViewController(identifier: "TabBarController") is only available on iOS 13 and returns ViewController instead of UIViewController as you can see here

enter image description here

like image 197
Reinier Melian Avatar answered Sep 20 '22 13:09

Reinier Melian


You should do following:

let viewController = storyboard.instantiateViewController(withIdentifier: "TabBarController")

parameter should be -withIdentifier- not -identifier-

like image 25
memtarhan Avatar answered Sep 20 '22 13:09

memtarhan