This repository contains useful Xcode templates to simplify new projects up and running.
Clone this project and navigate to it via terminal. Run install script:
chmod +x install_handsapp_ios_app_template.sh
./install_handsapp_ios_app_template.sh
This script will copy HandsApp project template to ~/Library/Developer/Xcode/Templates/Project Templates/HandsApp where Xcode will be able to find it.
chmod +x install_handsapp_network_ios_app_template.sh
./install_handsapp_network_ios_app_template.sh
This script will copy HandsApp project template for networking to ~/Library/Developer/Xcode/Templates/Project Templates/HandsApp where Xcode will be able to find it.
chmod +x install_empty_swift_file_template.sh
./install_empty_swift_file_template.sh
This script will copy empty file template to ~/Library/Developer/Xcode/Templates/File Templates/Source where Xcode will be able to find it.
This template creates blank Swift file without headers and imports.
This template creates iOS project with MVP structure with some useful features:
.gitignorefile;- SwiftLint build phase integration and configuration file;
- SwiftFormat build phase integration;
- R.Swift build phase integration;
Podfileto install all the tools mentioned above;- Generamba code generator;
Gemfileto install Generamba and Cocoapods.
- Open Xcode and create new project, choose HandsApp iOS App Template from the wizard (at the Private section);
- Configure project name and other parameters as usual;
- Close project, navigate to it via terminal and run
bundle installto install gems. If you have no Bundler installed - welcome here https://bundler.io/ - Run
pod installto install pods; - Open the generated workspace, navigate to Build Phases of your project's main target and move the SwiftFormat, SwiftLint, and R.Swift script phases above the compile phase (exactly that order). We have to make this step manually due to limitations of Xcode templates;

- Remove automaticaly generated tests boilerplate file
{project_name}Tests\{project_name}Tests.swift - Configure Generamba and setup templates:
generamba template install - Build project
Template inherits HandsApp iOS App Template and includes pods (like Moya and SDWebImage) and classes for networking. Project initializations steps the same. Use this template when your app requires server comunication.