XcodeGen - A Swift command line tool for generating your Xcode project

  •        130

XcodeGen is a command line tool written in Swift that generates your Xcode project using your folder structure and a project spec. The project spec is a YAML or JSON file that defines your targets, configurations, schemes, custom build settings and many other options. All your source directories are automatically parsed and referenced appropriately while preserving your folder structure. Sensible defaults are used in many places, so you only need to customize what is needed. Very complex projects can also be defined using more advanced features.

https://github.com/yonaskolb/XcodeGen

Tags
Implementation
License
Platform

   




Related Projects

xcodeproj - 📝 Read, update and write your Xcode projects

  •    Swift

xcodeproj is a library written in Swift for parsing and working with Xcode projects. It's heavily inspired in CocoaPods XcodeProj and xcode. If you are also leveraging xcodeproj in your project, feel free to open a PR to include it in the list above.

LicensePlist - A license list generator of all your dependencies for iOS applications

  •    Swift

LicensePlist is a command-line tool that automatically generates a Plist of all your dependencies, including files added manually(specified by YAML config file) or using Carthage or CocoaPods. All these licenses then show up in the Settings app. Download from Releases, then copy to /usr/local/bin/license-plist etc.

node-xcode - tools and utilities for working with xcode/ios projects

  •    Javascript

Allows you to edit xcodeproject files and write them back out. If there's a problem parsing, you will want to edit the grammar under lib/parser/pbxproj.pegjs. You can test it online with the PEGjs online thingy at http://pegjs.majda.cz/online - I have had some mixed results though.

Xcodeproj - Create and modify Xcode projects from Ruby.

  •    Ruby

Create and modify Xcode projects from Ruby.

swift-staticlibs - Scripts to allow Swift static libraries to be compiled in Xcode

  •    Shell

If you need a more elaborate configuration in CocoaPods, you can use the xcodeproj gem in order to make decisions based on project configuration. By using static libraries (or, in this case, static frameworks), you don't have to deal with all the overhead of dynamic framework loading. See this session from WWDC 2016 for more details around this.


typescript-starter - Quickly create and configure a new library or Node.js project

  •    TypeScript

Run one simple command to install and use the interactive project generator. You'll need Node v8.9 (the current LTS release) or later. The interactive CLI will help you create and configure your project automatically.

YamlDotNet - YamlDotNet is a .NET library for YAML

  •    CSharp

YamlDotNet is a .NET library for YAML. YamlDotNet provides low level parsing and emitting of YAML as well as a high level object model similar to XmlDocument. A serialization library is also included that allows to read and write objects from and to YAML streams. Currently, YamlDotNet supports version 1.1 of the YAML specification.

just-api - Easy and Flexible API Testing

  •    Javascript

Just-API is a declarative, specification based test framework for REST, GraphQL APIs. Users can test APIs without writing code, but they can also tap into code when they want to. It reads API test specification from YAML files and runs them in serial/parallel mode. Test reports can be generated in several formats including HTML and JSON. To run just-api, you will need Node.js v7.10.0 or newer.

connexion - Swagger/OpenAPI First framework for Python on top of Flask with automatic endpoint validation & OAuth2 support

  •    Python

Connexion is a framework on top of Flask that automagically handles HTTP requests based on OpenAPI 2.0 Specification (formerly known as Swagger Spec) of your API described in YAML format. Connexion allows you to write a Swagger specification, then maps the endpoints to your Python functions; this makes it unique, as many tools generate the specification based on your Python code. You can describe your REST API in as much detail as you want; then Connexion guarantees that it will work as you specified.With Connexion, you write the spec first. Connexion then calls your Python code, handling the mapping from the specification to the code. This incentivizes you to write the specification so that all of your developers can understand what your API does, even before you write a single line of code.

runc - CLI tool for spawning and running containers according to the OCI specification

  •    Go

runc is a CLI tool for spawning and running containers according to the OCI specification. runc depends on and tracks the runtime-spec repository. We will try to make sure that runc and the OCI specification major versions stay in lockstep. This means that runc 1.0.0 should implement the 1.0 version of the specification.

apispec - A pluggable API specification generator

  •    Python

A pluggable API specification generator. Currently supports the OpenAPI Specification (f.k.a. the Swagger specification). Documentation is available at http://apispec.readthedocs.io/ .

prettyjson - Package for formatting JSON data in a coloured YAML-style, perfect for CLI output

  •    Javascript

Package for formatting JSON data in a coloured YAML-style, perfect for CLI output. This will install prettyjson globally, so it will be added automatically to your PATH.

all-contributors-cli - Tool to help automate adding contributor acknowledgements according to the all-contributors specification ✨

  •    Javascript

This is a tool to help automate adding contributor acknowledgements according to the all-contributors specification for your GitHub or GitLab repository. If you're looking to use the cli, head over to the cli docs on allcontributors.org. The all-contributors website contains all the information required to install, configure and use the all-contributors-cli.

liftoff - CLI for creating and configuring new Xcode projects

  •    Ruby

Liftoff is a CLI for creating and configuring iOS Xcode projects. Liftoff was previously distributed via RubyGems. This method of installation has been deprecated, and all new releases will be done through Homebrew. If you are migrating from RubyGems, you should uninstall the gem version to avoid confusion in the future.

react-native-splashscreen

  •    Java

Drag RCTSplashScreen.xcodeproj to your project on Xcode. Click on your main project file (the one that represents the .xcodeproj) select Build Phases and drag libRCTSplashScreen.a from the Products folder inside the RCTSplashScreen.xcodeproj.

react-native-keyboardevents - Keyboard events for react-native

  •    Objective-C

This takes full advantage of RCTKeyboardObserver.m, which is built-in. In XCode, in the project navigator, select your project. Add the lib*.a from the keyboardevents project to your project's Build Phases ➜ Link Binary With Libraries Click .xcodeproj file you added before in the project navigator and go the Build Settings tab. Make sure 'All' is toggled on (instead of 'Basic'). Look for Header Search Paths and make sure it contains both $(SRCROOT)/../react-native/React and $(SRCROOT)/../../React - mark both as recursive.

panini - A super simple flat file generator.

  •    Javascript

A super simple flat file generator for use with Gulp. It compiles a series of HTML pages using a common layout. These pages can also include HTML partials, external Handlebars helpers, or external data as JSON or YAML. Panini isn't a full-fledged static site generator—rather, it solves the very specific problem of assembling flat files from common elements, using a templating language.

mrm - Codemods for your project config files

  •    Javascript

Command line tool to help you keep configuration (package.json, .gitignore, .eslintrc, etc.) of your open source projects in sync. Most of the available tools are template based. Template approach works moderately well for new project generation but doesn’t work well for updating. Mrm’s approach is closer to codemods than templates.