./README.md in shenzhen-0.8.2 vs ./README.md in shenzhen-0.9.0
- old
+ new
@@ -1,13 +1,13 @@
-![Shenzhen](https://raw.github.com/mattt/nomad-cli.com/assets/shenzhen-banner.png)
+![Shenzhen](https://raw.github.com/nomad/nomad.github.io/assets/shenzhen-banner.png)
-Create `.ipa` files and then distribute them with [TestFlight](https://testflightapp.com/), [HockeyApp](http://www.hockeyapp.net), [DeployGate](https://deploygate.com), or even through [iTunes Connect](https://itunesconnect.apple.com)—all from the command line!
+Create `.ipa` files and then distribute them with [TestFlight](https://testflightapp.com/), [HockeyApp](http://www.hockeyapp.net), [Crashlytics Beta](http://try.crashlytics.com/beta/), [DeployGate](https://deploygate.com), or even through [iTunes Connect](https://itunesconnect.apple.com)—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 [深圳](http://en.wikipedia.org/wiki/Shenzhen), 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](https://github.com/mattt/cupertino) (Apple Dev Center management), [Houston](https://github.com/mattt/houston) (Push Notifications), [Venice](https://github.com/mattt/venice) (In-App Purchase Receipt Verification), and [Dubai](https://github.com/mattt/dubai) (Passbook pass generation).
+> `shenzhen` is named for [深圳](http://en.wikipedia.org/wiki/Shenzhen), the Chinese city famous for being 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](https://github.com/mattt/cupertino) (Apple Dev Center management), [Houston](https://github.com/mattt/houston) (Push Notifications), [Venice](https://github.com/mattt/venice) (In-App Purchase Receipt Verification), [Dubai](https://github.com/mattt/dubai) (Passbook pass generation), and [Nashville](https://github.com/nomad/nashville) (iTunes Store API).
## Installation
```
$ gem install shenzhen
@@ -38,14 +38,15 @@
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:crashlytics Distribute an .ipa file over Crashlytics
distribute:deploygate Distribute an .ipa file over deploygate
distribute:itunesconnect Upload an .ipa file to iTunes Connect for review
distribute:ftp Distribute an .ipa file over FTP
- distribute:S3 Distribute an .ipa file over Amazon S3
+ 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
@@ -73,15 +74,24 @@
> 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
+$ ipa distribute:hockeyapp -a API_TOKEN
```
> Shenzhen will load credentials from the environment variable `HOCKEYAPP_API_TOKEN` unless otherwise specified.
+#### Crashlytics Beta Distribution
+
+```
+$ ipa distribute:crashlytics -c /path/to/Crashlytics.framework -a API_TOKEN -s BUILD_SECRET
+```
+
+> Shenzhen will load credentials from the environment variables `CRASHLYTICS_API_TOKEN` & `CRASHLYTICS_BUILD_SECRET`, and attempt to run the submit executable `submit` in the path to Crashlytics.framework specified by `CRASHLYTICS_FRAMEWORK_PATH` unless otherwise specified.
+
+
#### DeployGate Distribution
```
$ ipa distribute:deploygate -a API_TOKEN -u USER_NAME
```
@@ -108,16 +118,21 @@
> Shenzhen will load credentials from the environment variables `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` and `AWS_REGION` unless otherwise specified.
#### iTunes Connect Distribution
- $ ipa distribute:itunesconnect -a me@email.com -p myitunesconnectpassword --upload
+```
+$ ipa distribute:itunesconnect -a me@email.com -p myitunesconnectpassword -i appleid --upload
+```
> Shenzhen will load credentials from the environment variables `ITUNES_CONNECT_ACCOUNT` and `ITUNES_CONNECT_PASSWORD` unless otherwise specified. If only an account is provided, the keychain will be searched for a matching entry.
>
-> If the `--upload` flag is omitted, Shenzen will validate the given credentials and check that the app is in the 'Waiting for Upload' state on iTunes Connect but will not upload the .ipa
+> The `-i` (or `--apple-id`) flag is "An automatically generated ID assigned to your app". It can be found via iTunes Connect by navigating to:
+> * My Apps -> [App Name] -> More -> About This App -> Apple ID
>
-> For a fully hands-free upload, in a CI environment for example, ensure your iTunes Connect credentials are stored in your keychain, and that the keychain item has the Validation app in it's 'Always allow access' list. Running Shenzhen once with the `--save-keychain` flag, and clicking `Always Allow` on the prompt will set this up for you.
+> For a fully hands-free upload, in a CI environment for example, ensure your iTunes Connect credentials are stored in your keychain, and that the keychain item has the Validation app in its 'Always allow access' list. Running Shenzhen once with the `--save-keychain` flag, and clicking `Always Allow` on the prompt will set this up for you.
+
+**Apps built with Swift are not currently supported by this distribution method. Although initial upload checks may pass, it will eventually fail citing "Invalid Swift Support".**
### Displaying Embedded .mobileprovision Information
```
$ ipa info /path/to/app.ipa