Coder Social home page Coder Social logo

shenzhen's Introduction

Shenzhen

Create .ipa files and then distribute them with TestFlight or HockeyApp or DeployGate, all from the command line!

Less cumbersome than clicking around in Xcode, and less hassle than rolling your own build script--Shenzhen radically improves the process of getting new builds out to testers and enterprises.

shenzhen is named for 深圳, the Chinese city famous for its role as the center of manufacturing for a majority of consumer electronics, including iPhones and iPads. It's part of a series of world-class command-line utilities for iOS development, which includes Cupertino (Apple Dev Center management), Houston (Push Notifications), Venice (In-App Purchase Receipt Verification), and Dubai (Passbook pass generation).

Installation

$ gem install shenzhen

JSON Build Error

Users running Mac OS X Mavericks with Xcode 5.1 may encounter an error when attempting to install the json gem dependency. As per the Xcode 5.1 Release Notes:

The Apple LLVM compiler in Xcode 5.1 treats unrecognized command-line options as errors. This issue has been seen when building both Python native extensions and Ruby Gems, where some invalid compiler options are currently specified.

To work around this, install the json gem first with the following command:

$ ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install json

Usage

Shenzhen adds the ipa command to your PATH:

$ ipa

  Build and distribute iOS apps (.ipa files)

  Commands:
    build                 Create a new .ipa file for your app
    distribute:testflight Distribute an .ipa file over TestFlight
    distribute:hockeyapp  Distribute an .ipa file over HockeyApp
    distribute:deploygate Distribute an .ipa file over deploygate
    distribute:ftp        Distribute an .ipa file over FTP
    distribute:S3         Distribute an .ipa file over Amazon S3
    info                  Show mobile provisioning information about an .ipa file
    help                  Display global or [command] help documentation.

  Aliases:
    distribute           distribute:testflight

  Global Options:
    -h, --help           Display help documentation
    -v, --version        Display version information
    -t, --trace          Display backtrace when an error occurs

Building & Distribution

$ cd /path/to/iOS Project/
$ ipa build
$ ipa distribute

TestFlight Distribution

$ ipa distribute:testflight -a API_TOKEN -T TEAM_TOKEN

Shenzhen will load credentials from the environment variables TESTFLIGHT_API_TOKEN and TESTFLIGHT_TEAM_TOKEN unless otherwise specified.

HockeyApp Distribution

$ ipa distribute:hockeyapp --token API_TOKEN

Shenzhen will load credentials from the environment variable HOCKEYAPP_API_TOKEN unless otherwise specified.

DeployGate Distribution

$ ipa distribute:deploygate -a API_TOKEN -u USER_NAME

Shenzhen will load credentials from the environment variable DEPLOYGATE_API_TOKEN and DEPLOYGATE_USER_NAME unless otherwise specified.

FTP Distribution

$ ipa distribute:ftp --host HOST -u USER -p PASSWORD -P FTP_PATH

SFTP Distribution

$ ipa distribute:sftp --host HOST -u USER -p PASSWORD -P FTP_PATH

Amazon S3 Distribution

$ ipa distribute:s3 -a ACCESS_KEY_ID -s SECRET_ACCESS_KEY -b BUCKET

Shenzhen will load credentials from the environment variable AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY and AWS_REGION unless otherwise specified.

Displaying Embedded .mobileprovision Information

$ ipa info /path/to/app.ipa

+-----------------------------+----------------------------------------------------------+
| ApplicationIdentifierPrefix | DJ73OPSO53                                               |
| CreationDate                | 2014-03-26T02:53:00+00:00                                |
| Entitlements                | application-identifier: DJ73OPSO53.com.nomad.shenzhen    |
|                             | aps-environment: production                              |
|                             | get-task-allow: false                                    |
|                             | keychain-access-groups: ["DJ73OPSO53.*"]                 |
| CreationDate                | 2017-03-26T02:53:00+00:00                                |
| Name                        | Shenzhen                                                 |
| TeamIdentifier              | S6ZYP4L6TY                                               |
| TimeToLive                  | 172                                                      |
| UUID                        | P7602NR3-4D34-441N-B6C9-R79395PN1OO3                     |
| Version                     | 1                                                        |
+-----------------------------+----------------------------------------------------------+

Contact

Mattt Thompson

License

Shenzhen is available under the MIT license. See the LICENSE file for more info.

shenzhen's People

Contributors

adamwaite avatar andlister avatar calebhaye avatar codecaffeine avatar devinfoley avatar drodriguez avatar ebridges avatar enriquez avatar felipesabino avatar henteko avatar iovortex avatar kylef avatar martica avatar mathie avatar mattt avatar maveonair avatar mgamer avatar mtitolo avatar notjosh avatar nwest avatar rjocoleman avatar soph avatar tomdalling avatar viteinfinite avatar wesgibbs avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.