All Projects → lyptt → Struct

lyptt / Struct

Licence: mit
Xcode projects on steroids

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Struct

Learningopencv
Source code for Learning OpenCV 《学习OpenCV》源码及 Mac 运行工程
Stars: ✭ 57 (-91.67%)
Mutual labels:  xcode, mac
Tesseract Macos
Objective C wrapper for the open source OCR Engine Tesseract (macOS)
Stars: ✭ 154 (-77.49%)
Mutual labels:  xcode, mac
Swiftui
A collaborative list of awesome SwiftUI resources. Feel free to contribute!
Stars: ✭ 774 (+13.16%)
Mutual labels:  xcode, mac
Nocturnal
A Dimness and Night Shift menu bar app for macOS 🌙
Stars: ✭ 199 (-70.91%)
Mutual labels:  xcode, mac
Xcode One Dark
Atom One Dark theme for Xcode
Stars: ✭ 273 (-60.09%)
Mutual labels:  xcode, mac
Mbicons
MBIcons contains over 200 icons that can be resized to any dimensions as they are drawn using NSBezierPath.
Stars: ✭ 537 (-21.49%)
Mutual labels:  xcode, mac
Macimagesetgenerator
2个脚本文件,帮助你在Mac上,生成Xcode可使用的APP图标和启动图。
Stars: ✭ 73 (-89.33%)
Mutual labels:  xcode, mac
Fastlane Plugin Test center
🎯 The best fastlane plugin to understand and tame misbehaving iOS tests 🎉
Stars: ✭ 214 (-68.71%)
Mutual labels:  xcode, mac
Ipadownload
Search and download decrypted IPA file from 3rd-party App Store.
Stars: ✭ 247 (-63.89%)
Mutual labels:  xcode, mac
Cartool
Mac上解压Assets.car文件的小工具(支持右键解压)
Stars: ✭ 375 (-45.18%)
Mutual labels:  xcode, mac
Xcake
🍰 Describe Xcode projects in a human readable format and (re)generate one on demand.
Stars: ✭ 549 (-19.74%)
Mutual labels:  xcode, projects
Xcodes
The best command-line tool to install and switch between multiple versions of Xcode.
Stars: ✭ 653 (-4.53%)
Mutual labels:  xcode
Macbootstrap
A bootstrap script for new Mac
Stars: ✭ 623 (-8.92%)
Mutual labels:  mac
Learningmasteringalgorithms C
Mastering Algorithms with C 《算法精解:C语言描述》源码及Xcode工程、Linux工程
Stars: ✭ 615 (-10.09%)
Mutual labels:  xcode
Osx Iso
 Create a bootable ISO of OS X / macOS, from the installation app file
Stars: ✭ 616 (-9.94%)
Mutual labels:  mac
Coriander
Build NVIDIA® CUDA™ code for OpenCL™ 1.2 devices
Stars: ✭ 665 (-2.78%)
Mutual labels:  mac
Awesome Swift Korean Lecture
훌륭한 Swift 세션 동영상(강좌), 한글 자막있는 혹은 한국어 강의 정보 링크 모음 (Awesome Swift Korean lecture information)
Stars: ✭ 649 (-5.12%)
Mutual labels:  xcode
Dev Setup
macOS development environment setup: Easy-to-understand instructions with automated setup scripts for developer tools like Vim, Sublime Text, Bash, iTerm, Python data analysis, Spark, Hadoop MapReduce, AWS, Heroku, JavaScript web development, Android development, common data stores, and dev-based OS X defaults.
Stars: ✭ 5,590 (+717.25%)
Mutual labels:  mac
Orsserialport
Serial port library for Objective-C and Swift macOS apps
Stars: ✭ 609 (-10.96%)
Mutual labels:  mac
Wireless Usb Adapter
Stars: ✭ 611 (-10.67%)
Mutual labels:  mac

Struct logo

Struct

Latest Gem Release Git Version Git Version Build status Coverage Status Help Contribute to Open Source

Introduction

struct is a tool for iOS and Mac developers to automate the creation and management of Xcode projects.

Ever lamented over your unorganised project files? struct solves that by making your filesystem be your project structure. How it is on disk is how it is in your project. Simple.

Need to have multiple variants of a project depending on how you're distributing to your customers? struct's got you covered with target variants. Now you get a project for each variant, with the ability to add additional source files and resources. Great for whitelabelling and multiple distribution channels!

struct makes working with Xcode easy. You get simple, predictable project files that any developer can understand. Just treat your Xcode projects as a build artifact and feel the weight lift off your shoulders.

Use a spec file to define your project:

---
version: 3.0.0
configurations:
  debug:
  release:
targets:
  MyApp:
    sources: src
    i18n-resources: res
    platform: ios
    type: ":application"
    configuration:
      ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
      INFOPLIST_FILE: Info.plist
      PRODUCT_BUNDLE_IDENTIFIER: uk.lyptt.MyApp

Then just run struct generate and struct will do the rest.

You can find documented examples of the project specification in the examples folder.

Installation

struct requires a minimum of Ruby 2.6.3, which is available in macOS Catalina. You can install a higher version of Ruby with RVM on an older macOS version.

Install struct from Rubygems:

You may need to use sudo when using the system-provided Ruby

$ gem install struct

Quick Start

Get started with adding struct to your app:

Create your first spec file

Available Commands

To generate an Xcode project from your spec file, run the following from your project directory:

$ struct generate

To start the file watcher, run the following from your project directory:

$ struct watch

The project will be automatically regenerated whenever the project or any source files change.

Other commands can be discovered by viewing help:

$ struct help

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/lyptt/struct.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].