TestsTested | ✓ |
LangLanguage | SwiftSwift |
License | MIT |
ReleasedLast Release | Feb 2018 |
SwiftSwift Version | 4.0 |
SPMSupports SPM | ✗ |
Maintained by Cody Winton.
SwiftyVIPER allows easy use of VIPER architecture thoughout your iOS application.
Great question! VIPER is a backronym which stands for:
If all of this is totally knew for you, check out my running list of VIPER Resources
This is discouraged, but allowed. :D
Source
folder in your project.If you’re looking for VIPER architecture templates to use directly within Xcode, you can find these in the /Templates/VIPER
folder. Open your terminal and run:
cd PATH/TO/REPO
Then, simply run this command in your terminal:
mkdir -p ~/Library/Developer/Xcode/Templates/File\ Templates
cp -R Templates/VIPER ~/Library/Developer/Xcode/Templates/File\ Templates
Once you’ve installed the VIPER Templates, you’re ready to add a module. Select File > New > File
or use press ⌘N
to bring up the template selector. You’ll find the templates at the bottom.
Choose Module
for a normal module, Module Storyboard
for a normal module that interacts with Storyboards, or Module Tests
for a module unit tests template.
Next, choose the Module name. We’ll go with Custom
.
This will create 5 files per module:
CustomModule.swift
CustomViewController.swift
CustomPresenter.swift
CustomRouter.swift
CustomInteractor.swift
Don’t forget to target your main app. Once you’ve added the main template, go ahead and add the Unit Test template. Make sure it’s the same name! In this case, we’d stay with Custom
.
Simply add a new module using the VIPER template. Once done, simply call:
import SwiftyVIPER
CustomModule().present(from: self.viewController, style: .coverVertical, completion: nil)
The module will handle the rest, including initializing and attaching all the connections necessary for the Module to show properly.
We would love for you to contribute to SwiftyVIPER, check the LICENSE
file for more info. Pull Requests welcome!