Xcode 11: cannot instantiate view controller from storyboard with identifier

Viewed 8851

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?

3 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

You should do following:

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

parameter should be -withIdentifier- not -identifier-

//use instantiateViewController(withIdentifier:"") method to resolve notinstantiateViewController(Identifier:"") 


 let objRef : RatindAndReviewVC = self.storyboard?.instantiateViewController(withIdentifier: "RatindAndReviewVC") as! RatindAndReviewVC

       self.navigationController?.pushViewController(objRef, animated: true)
Related