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.

Get my latest video for free

Learn about value types, functional programming, and protocol-oriented programming in this new video – it's free!

Click here to visit the Hacking with Swift store >>