NEW: Master Swift design patterns with my latest book! >>

How to fix the error “View controller is unreachable because it has no entry points and no identifier for runtime access”

Written by Paul Hudson    @twostraws

All view controllers must be accessible somehow, and any that aren’t will cause Xcode to throw up a warning: “View Controller is unreachable because it has no entry points, and no identifier for runtime access.” There are three ways you can fix this:

  1. Make the view controller your initial view controller so that it’s loaded immediately. To do that, select it, go to the attributes inspector, then check the box marked Is Initial View Controller.
  2. Give it a storyboard identifier so that it can be loaded in code. To do that, select it, go to the identity inspector, then enter a name next to Storyboard ID.
  3. Create a segue from an existing view controller. This might be a button click or a table cell selection for example. To do that, select the component that should trigger the segue, then Ctrl-drag from there to the disconnected view controller.

Once all view controllers have a way of accessing them the warning should disappear.

Available from iOS

Did this solution work for you? Please pass it on!

Other people are reading…

About the Swift Knowledge Base

This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.

Love Hacking with Swift?

Get all 40 projects in PDF and HTML: buy the Hacking with Swift book! It contains over 1300 pages of hands-on Swift coding, and will really help boost your iOS career

Click here to visit the Hacking with Swift store >>