GithubHelp home page GithubHelp logo

isabella232 / cupertino Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jedi4ever/cupertino

0.0 0.0 0.0 292 KB

CLI for the Apple Dev Center

Home Page: http://nomad-cli.com

License: MIT License

Ruby 100.00%

cupertino's Introduction

Cupertino

Automate administrative tasks that you would normally have to do through the Apple Dev Center websites. Life's too short to manage device identifiers by hand!

Cupertino is named after Cupertino, CA: home to Apple, Inc.'s world headquarters. It's part of a series of world-class command-line utilities for iOS development, which includes Shenzhen (Building & Distribution), Houston (Push Notifications), Venice (In-App Purchase Receipt Verification), Dubai (Passbook pass generation), and Nashville (iTunes Store API).

Requirements

Cupertino requires the Xcode Command Line Tools, which can be installed with the following command:

$ xcode-select --install

Installation

$ gem install cupertino

Usage

Authentication

$ ios login

Credentials are saved in the Keychain. You will not be prompted for your username or password by commands while you are logged in. (Mac only)

Devices

$ ios devices:list

+------------------------------+---------------------------------------+
|       Listing 2 devices. You can register 98 additional devices.     |
+---------------------------+------------------------------------------+
| Device Name               | Device Identifier                        |
+---------------------------+------------------------------------------+
| Johnny Appleseed iPad     | 0123456789012345678901234567890123abcdef |
| Johnny Appleseed iPhone   | abcdef0123456789012345678901234567890123 |
+---------------------------+------------------------------------------+

$ ios devices:add "iPad 1"=abc123
$ ios devices:add "iPad 2"=def456 "iPad 3"=ghi789 ...

Provisioning Profiles

$ ios profiles:list

+----------------------------------+--------------+---------+
| Profile                          | App ID       | Status  |
+----------------------------------+--------------+---------+
| iOS Team Provisioning Profile: * | ABCDEFG123.* | Valid   |
+----------------------------------+--------------+---------+

$ ios profiles:manage:devices

Opens an editor with a list of devices, each of which can be commented / uncommented to turn them off / on for that provisioning profile.

# Comment / Uncomment Devices to Turn Off / On for Provisioning Profile
Johnny Appleseed iPad 0123456789012345678901234567890123abcdef
# Johnny Appleseed iPhone abcdef0123456789012345678901234567890123
$ ios profiles:devices:add MyApp_Development_Profile "Johnny Appleseed iPad"=0123456789012345678901234567890123abcdef "Johnny Appleseed iPhone"=abcdef0123456789012345678901234567890123

Adds (without an editor) a list of devices to a provisioning profile

$ ios profiles:devices:remove MyApp_Development_Profile "Johnny Old iPad"=0123456789012345678901234567890123abcdef "Johnny Old iPhone"=abcdef0123456789012345678901234567890123

Removes (without an editor) a list of devices from a provisioning profile


$ ios profiles:devices:list MyApp_Development_Profile

+--------------------------+------------------------------------------+--------+
|         Listing devices for provisioning profile MyApp_Development_Profile   |
+--------------------------+------------------------------------------+--------+
| Device Name              | Device Identifier                        | Active |
+--------------------------+------------------------------------------+--------+
| Person's iPhone 5        | 888888883e48a3e0458aab2691d565a8a63f7888 |   Y    |
+--------------------------+------------------------------------------+--------+

App IDs

$ ios app_ids:list

+-----------------------------+------------------------+-------------------+-------------------+
| Bundle Seed ID              | Description            | Development       | Distribution      |
+-----------------------------+------------------------+-------------------+-------------------+
| 123ABCDEFG.com.mattt.bundle | App Bundle Description | Passes            | Passes            |
|                             |                        | Data Protection   | Data Protection   |
|                             |                        | iCloud            | iCloud            |
|                             |                        | In-App Purchase   | In-App Purchase   |
|                             |                        | Game Center       | Game Center       |
|                             |                        | Push Notification | Push Notification |
+-----------------------------+------------------------+-------------------+-------------------+
$ ios app_ids:add "App Bundle Description"=123ABCDEFG.com.mattt.bundle

Certificates

$ ios certificates:list

+------------------+----------------------------------+-----------------+--------+
| Name             | Provisioning Profiles            | Expiration Date | Status |
+------------------+----------------------------------+-----------------+--------+
| Johnny Appleseed | iOS Team Provisioning Profile: * | Dec 23, 2012    | Issued |
+------------------+----------------------------------+-----------------+--------+
$ ios certificates:download
$ ios certificates:download --type distribution
$ ios certificates:download NAME

CSV Output

The following commands will format their output as comma-separated values when the --format csv argument is passed:

  • app_ids:list
  • devices:list
  • profiles:list
  • profiles:manage:devices:list

Commands

  • login
  • logout
  • devices:add
  • devices:list
  • profiles:list
  • profiles:manage:devices
  • profiles:manage:devices:add
  • profiles:manage:devices:remove
  • profiles:download
  • profiles:download:all
  • profiles:devices:list
  • certificates:list
  • certificates:download
  • app_ids:list

Proxies

Cupertino will access the provisioning portal through a proxy if the HTTP_PROXY environment variable is set, with optional credentials HTTP_PROXY_USER and HTTP_PROXY_PASSWORD.

Creator

Mattt Thompson (@mattt)

License

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

cupertino's People

Contributors

mattt avatar lxcid avatar matthewmaker avatar jwillis avatar davidlawson avatar jhersh avatar mmacvicar avatar enriquez avatar samsonasu avatar ksuther avatar subblue avatar laptobbe avatar ashtom avatar sj26 avatar pgib avatar tadpol avatar lmirosevic avatar erbridge avatar dnonnenm avatar legoless avatar crmitchelmore avatar aschuch 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.