A feature-rich iOS boilerplate that sets up a universal iOS app with logging, testing, and utility libraries via a single command.
Amaro is an iOS boilerplate project that automates the setup of a new iOS application with a comprehensive set of tools and libraries. It solves the problem of repetitive project configuration by providing a ready-to-build app with logging, testing, networking, and utility libraries integrated from the start. The goal is to help developers begin coding immediately with a well-structured, maintainable foundation.
iOS developers and teams who want to start new projects quickly with a consistent, opinionated setup that includes best practices for build configuration, testing, and dependency management.
Developers choose Amaro because it offers a curated, feature-rich starting point that reduces initial setup time and enforces good practices. Its integration of popular libraries like CocoaLumberjack, AFNetworking, and Specta/Expecta, along with environment-specific build configurations, provides a production-ready foundation out of the box.
Featureful iOS Boilerplate
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses separate xcconfig files for staging, production, and distribution schemes, enabling easy environment switching without manual variable tweaks.
Configures Specta and Expecta for RSpec-like testing with full Xcode integration, allowing developers to write and run tests immediately.
Includes CocoaLumberjack with a custom formatter that adds class and method names to logs, enhancing debuggability from the start.
Runs a single Ruby script to create a git repository, set up dependencies, and configure build settings, reducing initial setup time.
The generated project includes Objective-C code and libraries, which may require additional work for teams exclusively using Swift.
Tight integration with CocoaPods means switching to Swift Package Manager or Carthage would involve significant manual configuration.
Relies on older libraries like AFNetworking and targets iOS 8.0, which might not align with modern iOS development practices using SwiftUI or Combine.