Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/manicmaniac/xcnew
A missing command line interface to make a project for iOS Single View App, works exactly same as Xcode does.
https://github.com/manicmaniac/xcnew
cli ios macos xcode
Last synced: 9 days ago
JSON representation
A missing command line interface to make a project for iOS Single View App, works exactly same as Xcode does.
- Host: GitHub
- URL: https://github.com/manicmaniac/xcnew
- Owner: manicmaniac
- License: mit
- Created: 2019-08-05T01:24:54.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-09-26T19:06:14.000Z (about 1 month ago)
- Last Synced: 2024-10-14T14:38:02.896Z (23 days ago)
- Topics: cli, ios, macos, xcode
- Language: Objective-C
- Homepage:
- Size: 559 KB
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
xcnew
=====[![GitHub Actions](https://github.com/manicmaniac/xcnew/actions/workflows/test.yml/badge.svg)](https://github.com/manicmaniac/xcnew/actions/workflows/test.yml)
[![Test Coverage](https://api.codeclimate.com/v1/badges/1b708551a78044461357/test_coverage)](https://codeclimate.com/github/manicmaniac/xcnew/test_coverage)
[![Xcode](https://img.shields.io/badge/xcode-12%20%7C%2013%20%7C%2014-blue)](https://github.com/manicmaniac/xcnew#supported-xcode-versions)A command line interface to make a project for iOS Single View App.
Install
-------### Homebrew
brew install manicmaniac/tap/xcnew
### MacPorts
Firstly you need to setup local repository.
git clone https://github.com/manicmaniac/ports.git
Then add the repository to MacPorts sources.
sudo ruby -pi -e 'puts "file://#{Dir.pwd}/ports" if /^rsync:/' /opt/local/etc/macports/sources.conf
Now you can install xcnew from ports.
sudo port install xcnew
### Install from binary package
Make sure you set a developer directory to Xcode.
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
Then download the latest package.
curl -LO https://github.com/manicmaniac/releases/latest/download/xcnew.pkg
And install it to `/usr/local/bin/xcnew`.
sudo installer -pkg xcnew.pkg -target /
### Install from source
git clone https://github.com/manicmaniac/xcnew.git
sudo make -C xcnew installYou can change the install location by setting `$PREFIX` environment variable.
sudo make -C xcnew install PREFIX="/opt/local"
Usage
-----xcnew - A command line interface to make a project for iOS Single View App.
Usage: xcnew [-h|v] [-i ] [-tcCosS] [OUTPUT_DIR]
Options:
-h, --help Show help and exit
-v, --version Show version and exit
-i , --organization-identifier
Specify organization's identifier
-t, --has-tests Enable unit and UI tests
-c, --use-core-data Enable Core Data template
-C, --use-cloud-kit Enable Core Data with CloudKit template (overrides -c option)
-o, --objc Use Objective-C instead of Swift (overridden by -s and -S options)
-s, --swift-ui Use Swift UI instead of Storyboard
-S, --swift-ui-lifecycle Use Swift UI lifecycle (overrides -s option)Arguments:
Required TARGET_NAME of project.pbxproj
[OUTPUT_DIR] Optional directory name of the projectSupported Xcode versions
------------------------`Xcode >= 12.5 && Xcode <= 14.2.0`.
How it works?
-------------Just by reverse engineering and utilizing Xcode private frameworks, `IDEFoundation` and `Xcode3Core`.
Why not Swift but Objective-C?
------------------------------Simply too difficult to implement this kind of magic in Swift.
License
-------This program is distributed under the MIT license.
See LICENSE for the detail.