Create .ipa
files and then distribute them with TestFlight or HockeyApp, 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
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:ftp Distribute an .ipa file over FTP
distribute:S3 Distribute an .ipa file over Amazon S3
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
andTESTFLIGHT_TEAM_TOKEN
unless otherwise specified.
HockeyApp Distribution
$ ipa distribute:hockeyapp -t API_TOKEN
Shenzhen will load credentials from the environment variable
HOCKEYAPP_API_TOKEN
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
andAWS_REGION
unless otherwise specified.
Contact
Mattt Thompson
License
Shenzhen is available under the MIT license. See the LICENSE file for more info.