Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Jun 20, 2021. It is now read-only.
/shenzhenPublic archive

CLI for Building & Distributing iOS Apps (.ipa Files)

License

NotificationsYou must be signed in to change notification settings

nomad-cli/shenzhen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Shenzhen


Note: shenzhen uses the Xcode 6 build API, which has been deprecated for almost 3 years now. This causes problems if your app makes use of Swift 3, watchOS and other app targets.

A maintained alternative to build your iOS apps isgym which uses the latest Xcode API. To distribute builds, you can usefastlane. More information on how to get started is available on theiOS Beta deployment guide.


Create.ipa files and distribute them from the command line, using any of the following methods:

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 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 includesCupertino (Apple Dev Center management),Houston (Push Notifications),Venice (In-App Purchase Receipt Verification),Dubai (Passbook pass generation), andNashville (iTunes Store API).

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 thejson gem dependency. As per theXcode 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 thejson gem first with the following command:

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

Usage

For best results, set your environment localization to UTF-8, with$ export LC_ALL="en_US.UTF-8". Otherwise, Shenzhen may return unexpectedly with the error "invalid byte sequence in US-ASCII".

Shenzhen adds theipa command to your PATH:

$ ipaBuild and distribute iOS apps (.ipa files)  Commands:    build                       Create a new .ipa file for your app    distribute:rivierabuild     Distribute an .ipa file over [RivieraBuild](http://rivierabuild.com)    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:fir              Distribute an .ipa file over fir.im    distribute:itunesconnect    Upload an .ipa file to iTunes Connect for review    distribute:pgyer            Distribute an .ipa file over Pgyer    distribute:ftp              Distribute an .ipa file over FTP    distribute:s3               Distribute an .ipa file over Amazon S3    distribute:testfairy        Distribute an .ipa file over TestFairy    info                        Show mobile provisioning information about an .ipa file    help                        Display global or [command] help documentation.  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

RivieraBuild Distribution

$ ipa distribute:rivierabuild -k API_TOKEN -a AVAILABILITY

Shenzhen will load credentials from the environment variableRIVIERA_API_TOKEN unless otherwise specified.To get the list of availability options, visithttp://api.rivierabuild.com

HockeyApp Distribution

$ ipa distribute:hockeyapp -a API_TOKEN

Shenzhen will load credentials from the environment variableHOCKEYAPP_API_TOKEN unless otherwise specified.

TestFairy Distribution

$ ipa distribute:testfairy -a API_KEY

Shenzhen will load credentials from the environment variableTESTFAIRY_API_KEY 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 variablesCRASHLYTICS_API_TOKEN &CRASHLYTICS_BUILD_SECRET, and attempt to run the submit executablesubmit in the path to Crashlytics.framework specified byCRASHLYTICS_FRAMEWORK_PATH unless otherwise specified.

DeployGate Distribution

$ ipa distribute:deploygate -a API_TOKEN -u USER_NAME

Shenzhen will load credentials from the environment variableDEPLOYGATE_API_TOKEN andDEPLOYGATE_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 variablesAWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY andAWS_REGION unless otherwise specified.

FIR (Fly it Remotely)

$ ipa distribute:fir -u USER_TOKEN -a APP_ID

Shenzhen will load credentials from the environment variablesFIR_USER_TOKEN,FIR_APP_ID unless otherwise specified.

蒲公英 (PGYER)

$ ipa distribute:pgyer -u USER_KEY -a APP_KEY

Shenzhen will load credentials from the environment variablesPGYER_USER_KEY,PGYER_API_KEY unless otherwise specified.

iTunes Connect Distribution

$ ipa distribute:itunesconnect -a me@email.com -p myitunesconnectpassword -i appleid --upload

Shenzhen will load credentials from the environment variablesITUNES_CONNECT_ACCOUNT andITUNES_CONNECT_PASSWORD unless otherwise specified. If only an account is provided, the keychain will be searched for a matching entry.

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 its 'Always allow access' list. Running Shenzhen once with the--save-keychain flag, and clickingAlways Allow on the prompt will set this up for you.

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                                                        |+-----------------------------+----------------------------------------------------------+

License

Shenzhen is released under an MIT license. See LICENSE for more information.

About

CLI for Building & Distributing iOS Apps (.ipa Files)

Resources

License

Stars

Watchers

Forks

Contributors64

Languages


[8]ページ先頭

©2009-2025 Movatter.jp