Bootstrap

screenshot of Bootstrap

iOS project bootstrap aimed at high quality coding.

Overview

In the ever-evolving landscape of iOS development, having a solid project bootstrap can make a world of difference. This open-source iOS project bootstrap aims to streamline your development process, allowing for easy configuration and management across different environments. As it is a work in progress, contributors are welcome, ensuring that the tool evolves with community feedback.

Setting up this bootstrap is designed to be efficient and user-friendly. With the ability to manage configurations like Debug, Release, and Adhoc concurrently on the same device, developers can easily spot issues across builds. Furthermore, it incorporates a range of innovative features that enhance code quality, simplify environment management, and establish a robust foundation for iOS projects.

Features

  • Multiple Configurations: The project supports Debug, Release, and Adhoc configurations that allow side-by-side builds on the same device for easier issue tracking.

  • Build Information Display: Displays crucial build details including build number, branch, and commit hash, along with the configuration used for building the app.

  • Enhanced Code Quality: Integrates a rigorous approach to handle compiler warnings with settings for treating warnings as errors, ensuring cleaner and more maintainable code.

  • Automated Scripts: Transform todo/fixme notes into warnings, and add warnings for large files to help maintain clean code standards.

  • Custom Developer Macros: Automatically generate developer-specific macros to facilitate code variations during feature development without git changes.

  • Flexible Environment Management: Easily switch between staging, production, and QA environments without reinstalling the app, reducing clutter and maintenance costs.

  • Single plist for Variables: Store all environment variables in one plist file, which helps catch missing configurations at compile time, making debugging simpler.

  • Easy Deployment on Jenkins: Automatically set environment configurations through xcodebuild user variables during continuous integration, streamlining deployment processes.