https://github.com/igor-makarov/xcake-template
iOS app template, made easy using Xcake!
https://github.com/igor-makarov/xcake-template
Last synced: 3 months ago
JSON representation
iOS app template, made easy using Xcake!
- Host: GitHub
- URL: https://github.com/igor-makarov/xcake-template
- Owner: igor-makarov
- License: mit
- Created: 2019-01-09T13:01:06.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-06-10T10:14:01.000Z (about 3 years ago)
- Last Synced: 2025-01-20T15:48:50.488Z (5 months ago)
- Language: Swift
- Size: 17.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE
Awesome Lists containing this project
README
## iOS Project Template
A template to jumpstart your next iOS project integrating best practices and tools.
Supports Xcode 10, Swift 4.2## Motivation
When working for early stage startups I frequently had to start new projects from scratch. While doing this I noticed that I am spending a lot of time doing basic project setup and integrating basic tools and best practices in all projects from scratch.
This template should save project setup time and also provide a common foundation that each team member will be accustomed to so that you don't have to think and explore the project structure and foundations. They will always be the same.
## Contains (best practices)
* [Swiftlint](https://github.com/realm/SwiftLint) integration - A tool to enforce Swift style and conventions
* [R.swift](https://github.com/mac-cain13/R.swift) integration - strong typed, autocompleted resources like images, fonts and segues
* [Separate AppDelegate for app and tests](https://marcosantadev.com/fake-appdelegate-unit-testing-swift/)
* Dev/Staging/Prod configurations
* [Compiler performance profiling flags](https://www.jessesquires.com/blog/measuring-compile-times-xcode9/)
* [Cocoapods integration](https://cocoapods.org)
* [Gemfile for managing Cocoapods version](https://guides.cocoapods.org/using/a-gemfile.html)
* Standard Readme
* Standard project structure
* [Standard gitignore](https://github.com/github/gitignore/blob/master/Swift.gitignore)
* Base classes for handling deeplinks and notifications## Prerequisites:
This project needs [Cookiecutter](https://cookiecutter.readthedocs.io/en/latest/installation.html)```
brew install cookiecutter
```## Usage
The project uses Cookiecutter for project templating. To create a new project from this template just run:
```
cookiecutter https://github.com/pgorzelany/iOS-project-template.git
```You will get a prompt to give a new app name. Thats it, you should have a new folder with your new app created based on this template!
The project is using cocoapods for managing external libraries and a Gemfile for managing the cocoapods version.
To install the cocoapod dependencies do the following:Get Bundler
```
sudo gem install bundler
```To install the specific cocoapods version run
```
bundle install
```Then install the pods
```
bundle exec pod install
```## Additional configuration
You will have to manually configure the bundle id of the main target and test target.