whatisgithub

What is shenzhen?

nomad-cli/shenzhen — explained in plain English

Analysis updated 2026-06-26

4,637RubyAudience · developerComplexity · 2/5Setup · hard

In one sentence

A deprecated Ruby CLI tool that built iOS apps into IPA files and uploaded them to TestFlight, HockeyApp, and other services. Use Fastlane instead for new projects.

Mindmap

mindmap
  root((repo))
    What it did
      Build iOS IPA files
      Distribute to testers
      Inspect IPA profiles
    Distribution Targets
      TestFlight
      HockeyApp
      Crashlytics Beta
      Amazon S3 and FTP
    Tech Stack
      Ruby
      Xcode 6 API
      Gem install
    Status
      Deprecated
      Use Fastlane gym
    Audience
      iOS developers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Understand how iOS IPA distribution pipelines were automated before Fastlane became the standard (historical reference).

USE CASE 2

Inspect the provisioning profile details inside an existing IPA file using the ipa info command.

What is it built with?

RubyXcode

How does it compare?

nomad-cli/shenzhenlobsters/lobstershahwul/webhackersweapons
Stars4,6374,6684,598
LanguageRubyRubyRuby
Setup difficultyhardhardeasy
Complexity2/54/51/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Deprecated, relies on the Xcode 6 build API which Apple dropped, will not work with Swift 3 or watchOS.

So what is it?

Shenzhen is a Ruby command-line tool for building iOS apps into distributable IPA files and uploading them to various testing and distribution services. The README opens with an important notice: Shenzhen is deprecated. It relies on an Xcode 6 build API that Apple stopped supporting years ago, which causes problems with Swift 3, watchOS targets, and other modern features. The maintainers recommend using Fastlane's gym tool for builds and Fastlane itself for distribution instead. When it was current, Shenzhen added a single command called ipa to your terminal. Running ipa build in an iOS project directory compiled the app and produced an IPA file. Running ipa distribute then sent that file to whichever distribution service you chose. Supported destinations included TestFlight (via iTunes Connect), HockeyApp, Crashlytics Beta, TestFairy, DeployGate, Amazon S3, FTP, SFTP, and several Chinese distribution platforms (FIR.im, PGYER). Each distribution target had its own subcommand, and credentials could be passed as flags or loaded from environment variables, making it straightforward to integrate into automated build pipelines. There was also an ipa info command that read the provisioning profile embedded in an IPA file and printed its details in a formatted table, which was useful for quickly checking which certificates and entitlements were included in a build. Shenzhen is one of several iOS-focused command-line tools built by the Nomad project, a collection that also covered push notifications, in-app purchase receipt verification, and Apple Developer Center account management. Because the project is deprecated and no longer maintained, it should not be used for new projects. Installation was done via gem install shenzhen.

Copy-paste prompts

Prompt 1
What is the Fastlane gym equivalent of the Shenzhen ipa build command for compiling an iOS app to an IPA?
Prompt 2
Show me a Fastfile that replaces the Shenzhen ipa distribute crashlytics workflow using Fastlane.
Prompt 3
How do I upload an IPA to TestFlight from the command line using Fastlane instead of Shenzhen?
Prompt 4
Write a Fastlane lane that builds an iOS app and distributes it to HockeyApp with release notes.

Frequently asked questions

What is shenzhen?

A deprecated Ruby CLI tool that built iOS apps into IPA files and uploaded them to TestFlight, HockeyApp, and other services. Use Fastlane instead for new projects.

What language is shenzhen written in?

Mainly Ruby. The stack also includes Ruby, Xcode.

How hard is shenzhen to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is shenzhen for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.