Model-View-Presenter template

A flexible and easy template created to speed up the development of your iOS application based on the MVP pattern. This template generates all the important components of the MVP pattern, including the Builder.


You may install this template either using a shell script, or manually, by copying the template to the template directory.


  • Just run this command in your terminal:

    $ sh


  • Open ~/Library/Developer/Xcode/Templates/Architecture/ and move "MVP.xctemplate" folder there. If you do not have Templates or Architecture folders you should create them.


To create a module using the template, click on "New file..." in the folder where you want to add the module. You may also use shortcut + N. Finally, find the MVP file in the Architecture section.


This template provides several options so that you can flexibly configure your new modules. Let's look at each in detail.


  • Module: this field simply describes the module name.
  • Storyboad based: this field is used to determine whether your view is built in Storyboard.
  • Subclass of: in this field, you must choose from which class your View should inherit from.
  • Also create XIB file for user interface: if checkbox is checked XIB file will be created inside your module.
  • Also create Router file: if checkbox is checked your module will have Router class.


After creating the module, you will see that several files were created based on your choice. Unfortunately, folder structuring is only available for Project templates, so all files will be created in one folder.