Coder Social home page Coder Social logo

cupertino's Introduction

Cupertino

Note: Cupertino stopped working due to a recent change on the Apple Developer Portal. A maintained alternative is to use spaceship to communicate with Apple's Developer back-end, or use any of the fastlane tools, like match or sigh.


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)

Alternatively, username and password can also be provided by setting the IOS_USERNAME and IOS_PASSWORD environment variables respectively.

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

Options

Global options:

  • -u : Username
  • -p : Password
  • --team : Team Identifier
  • --info : Set log level to INFO
  • --debug : Set log level to DEBUG
  • --format : Output options are table or csv

Specific options for certain commands:

  • --type : Options are development or distribution

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.

License

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

cupertino's People

Contributors

aschuch avatar ashtom avatar crmitchelmore avatar dankimio avatar davidlawson avatar dnonnenm avatar enriquez avatar erbridge avatar jedi4ever avatar jhersh avatar jwillis avatar kattrali avatar krausefx avatar ksuther avatar laptobbe avatar legoless avatar lmirosevic avatar lxcid avatar matthewmaker avatar mattt avatar mmacvicar avatar msylvia avatar pgib avatar samsonasu avatar sj26 avatar subblue avatar tadpol avatar zerok avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cupertino's Issues

profiles:manage:devices does not save changes

I run ios profiles:manage:devices, choose an app, uncomment a device, save changes, and close the file.

The command line shows Successfully managed devices.

But then when I run ios profiles:manage:devices, the device is commented out again.

Can't retreive data

$ ios login
Username:
maxim@k**n.ru
Password:
************
Account credentials saved

$ ios devices:list
+-------------+-------------------+
|       Listing 0 devices.        |
+-------------+-------------------+
| Device Name | Device Identifier |
+-------------+-------------------+
+-------------+-------------------+

$ ios profiles:list
No development provisioning profiles found.

How to troubleshoot?

Support for multiple accounts

I need to access different accounts depending on the project I'm working on, so it'd be really nice to be able to save the credentials for multiple accounts and quickly switch between them using an alias.

Here's how I was envisioning this would work:

  • login can optionally be login [accountname] [alias]

If only an account name is specified, it's saved in the Keychain with no alias (the same as the current login command, just skipping the username prompt). If an alias is specified then the account name/alias pair is saved somewhere. Maybe in ~/.cupertino? I don't know the ruby conventions for saving config data like that.

  • logout can be logout:all or logout [accountname or alias]

Logging out would delete the saved alias if one exists.

  • New command account to change the active account (e.g. ios account myalias)

Calling with no argument would print the active account.

I'm hoping to eventually hack this in myself, but I'm leaving this here for now if anyone else has any usage suggestions or gets inspired themselves :)

ios profiles:manage:devices failing with 404

It looks like Apple has changed the dev site and broken the device management tool. When I try and run:

ios profiles:manage:devices

after selecting the provisioning profile I get the following error (with --trace on):

/Users/adamblock/.rvm/gems/ruby-2.0.0-p0/gems/mechanize-2.5.1/lib/mechanize/http/agent.rb:304:in `fetch': 404 => Net::HTTPNotFound for https://developer.apple.com/account/ios/profile/profileEdit.action?provisioningProfileId=[PROFILEID] -- unhandled response (Mechanize::ResponseCodeError)

Big changes on the Apple developer member center

Everyone will notice these changes pretty quickly, so I'm opening this ticket only to track and discuss about the potential changes needed to be made to fix the ios command line and make it work again :)

You are already authenticated

When you execute ios login and you are already authenticated, don't ask user to re-enter user credentials.

ios login
You are already authenticated
Username:

All commands seem to hang

The gem used to work fine for me, but lately all list commands seem to hang.
I'm able to log in to the portal through the browser.
No errors.
I'm happy to debug the issue further if you give me some pointers.

Ruby 1.9.3

Commands hang on account with multiple teams

I logged into a developer account that has multiple teams. If I try to issue any command (devices:list, app_ids:list, profiles:list) I see a spinner in my Terminal tab for 10-20 seconds, then it goes away, and the command line just seems to be hung. I don't get any kind of error and I can't get it to exit out of the current command it's stuck in.

So seems like possibly ungraceful failure of accounts that have multiple teams?

SSL error

I get an error when trying to access a list of profiles (or anything for that matter).

Using rvm'd ruby 1.9.3-p194 on Snow Leopard.

% ios profiles

error: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed. Use --trace to view backtrace

with trace..

.......gems/net-http-persistent-2.7/lib/net/http/persistent/ssl_reuse.rb:70:in connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError) from /Users/xxxxxxx/.rvm/gems/ruby-1.9.3-p194/gems/net-http-persistent-2.7/lib/net/http/persistent/ssl_reuse.rb:70:inblock in connect'

Suggestions as to how to fix this.. google did not come up with an easy solution.

is there any way to specify proxy settings?

Hi there,

Nice library, thanks for this.
I am trying to use ios utility to get the list of devices from the developer portal and I am constantly getting connection error:

error: Operation timed out - connect(2). Use --trace to view backtrace

Most likely it's happening because I need not set proxy settings so I am wondering if there is an option to for this.

Thanks.

The ios profile.all doesn't work with the new portal now 7-26-2013

/Library/Ruby/Gems/1.8/gems/mechanize-2.5.1/lib/mechanize/http/agent.rb:304:in `fetch': 500 => Net::HTTPInternalServerError for https://developer.apple.com/services-developerportal/QH65B2/account/ios/profile/regenProvisioningProfile.action?content-type=text/x-url-arguments&accept=application/json&requestId=b2755757-1d06-42b9-85e7-e4f7d5ddf6b3&userLocale=en_US&teamId=2ARNJY38FW -- unhandled response (Mechanize::ResponseCodeError)

Adding devices without quotes leads to confusing response

$ ios devices:add Foo Bar iPhone 3GS=590f9b347b825ce5fb40cd1bdf585ba0f813d312
Added 4 devices

really, no items were added. I had to use quotes.

$ ios devices:add 'Foo Bar iPhone 3GS'=590f9b347b825ce5fb40cd1bdf585ba0f813d312
Added 1 device

profiles:manage:devices does not respect environment

Unlike other commands when I execute

$ ios profiles:manage:devices distribution

I always only get to choose from my development profiles (e.g. the Xcode team profile) - not the ones used for distribution (those I would usually try to allow/restrict specific devices to/from).

not working using ios login

having this trace
/Users/windu/.rvm/gems/ruby-1.9.3-p194/gems/netrc-0.7.5/lib/netrc.rb:87:in take': unexpected EOF (Netrc::Error) from /Users/windu/.rvm/gems/ruby-1.9.3-p194/gems/netrc-0.7.5/lib/netrc.rb:107:inparse'
from /Users/windu/.rvm/gems/ruby-1.9.3-p194/gems/netrc-0.7.5/lib/netrc.rb:34:in read' from /Users/windu/.rvm/gems/ruby-1.9.3-p194/gems/cupertino-0.3.3/lib/cupertino/provisioning_portal/agent.rb:13:ininitialize'
from /Users/windu/.rvm/gems/ruby-1.9.3-p194/gems/cupertino-0.3.3/lib/cupertino/provisioning_portal/helpers.rb:15:in new' from /Users/windu/.rvm/gems/ruby-1.9.3-p194/gems/cupertino-0.3.3/lib/cupertino/provisioning_portal/helpers.rb:15:inagent'
from /Users/windu/.rvm/gems/ruby-1.9.3-p194/gems/cupertino-0.3.3/lib/cupertino/provisioning_portal/commands/devices.rb:7:in block (3 levels) in <top (required)>' from /Users/windu/.rvm/gems/ruby-1.9.3-p194/gems/cupertino-0.3.3/lib/cupertino/provisioning_portal/helpers.rb:44:intry'
from /Users/windu/.rvm/gems/ruby-1.9.3-p194/gems/cupertino-0.3.3/lib/cupertino/provisioning_portal/commands/devices.rb:7:in block (2 levels) in <top (required)>' from /Users/windu/.rvm/gems/ruby-1.9.3-p194/gems/commander-4.1.2/lib/commander/command.rb:180:incall'
from /Users/windu/.rvm/gems/ruby-1.9.3-p194/gems/commander-4.1.2/lib/commander/command.rb:180:in call' from /Users/windu/.rvm/gems/ruby-1.9.3-p194/gems/commander-4.1.2/lib/commander/command.rb:155:inrun'
from /Users/windu/.rvm/gems/ruby-1.9.3-p194/gems/commander-4.1.2/lib/commander/runner.rb:400:in run_active_command' from /Users/windu/.rvm/gems/ruby-1.9.3-p194/gems/commander-4.1.2/lib/commander/runner.rb:78:inrun!'
from /Users/windu/.rvm/gems/ruby-1.9.3-p194/gems/commander-4.1.2/lib/commander/delegates.rb:11:in run!' from /Users/windu/.rvm/gems/ruby-1.9.3-p194/gems/commander-4.1.2/lib/commander/import.rb:10:inblock in <top (required)>'

`ios login` should escape username and password

$ ios login
Username:
[email protected]
Password:
**********
sh: -c: line 0: syntax error near unexpected token `)'
sh: -c: line 0: `security add-internet-password -a [email protected] -w ********** -s developer.apple.com'
Account credentials saved

My password needs to be escaped because it contains some symbols that would otherwise interfere with this shell command.

ios profiles:list UnexpectedContentError

The "profiles:list" command is returning a "UnexpectedContentError" error when executed:

Sequoia:jenkins labrown$ ios --version
ios 0.8.1


Sequoia:jenkins labrown$ ios profiles:list
error: Cupertino::ProvisioningPortal::UnexpectedContentError. Use --trace to view backtrace
Sequoia:jenkins labrown$ ios profiles:list --trace
/Users/labrown/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/cupertino-0.8.1/lib/cupertino/provisioning_portal/agent.rb:159:in `list_profiles': Cupertino::ProvisioningPortal::UnexpectedContentError (Cupertino::ProvisioningPortal::UnexpectedContentError)
    from /Users/labrown/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/cupertino-0.8.1/lib/cupertino/provisioning_portal/commands/profiles.rb:8:in `block (3 levels) in <top (required)>'
    from /Users/labrown/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/cupertino-0.8.1/lib/cupertino/provisioning_portal/helpers.rb:50:in `try'
    from /Users/labrown/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/cupertino-0.8.1/lib/cupertino/provisioning_portal/commands/profiles.rb:8:in `block (2 levels) in <top (required)>'
    from /Users/labrown/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/commander-4.1.3/lib/commander/command.rb:180:in `call'
    from /Users/labrown/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/commander-4.1.3/lib/commander/command.rb:180:in `call'
    from /Users/labrown/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/commander-4.1.3/lib/commander/command.rb:155:in `run'
    from /Users/labrown/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/commander-4.1.3/lib/commander/runner.rb:402:in `run_active_command'
    from /Users/labrown/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/commander-4.1.3/lib/commander/runner.rb:78:in `run!'
    from /Users/labrown/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/commander-4.1.3/lib/commander/delegates.rb:11:in `run!'
    from /Users/labrown/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/commander-4.1.3/lib/commander/import.rb:10:in `block in <top (required)>'


Sequoia:jenkins labrown$ ios profiles:list distribution
error: Cupertino::ProvisioningPortal::UnexpectedContentError. Use --trace to view backtrace
Sequoia:jenkins labrown$ ios profiles:list distribution --trace
/Users/labrown/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/cupertino-0.8.1/lib/cupertino/provisioning_portal/agent.rb:159:in `list_profiles': Cupertino::ProvisioningPortal::UnexpectedContentError (Cupertino::ProvisioningPortal::UnexpectedContentError)
    from /Users/labrown/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/cupertino-0.8.1/lib/cupertino/provisioning_portal/commands/profiles.rb:8:in `block (3 levels) in <top (required)>'
    from /Users/labrown/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/cupertino-0.8.1/lib/cupertino/provisioning_portal/helpers.rb:50:in `try'
    from /Users/labrown/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/cupertino-0.8.1/lib/cupertino/provisioning_portal/commands/profiles.rb:8:in `block (2 levels) in <top (required)>'
    from /Users/labrown/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/commander-4.1.3/lib/commander/command.rb:180:in `call'
    from /Users/labrown/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/commander-4.1.3/lib/commander/command.rb:180:in `call'
    from /Users/labrown/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/commander-4.1.3/lib/commander/command.rb:155:in `run'
    from /Users/labrown/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/commander-4.1.3/lib/commander/runner.rb:402:in `run_active_command'
    from /Users/labrown/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/commander-4.1.3/lib/commander/runner.rb:78:in `run!'
    from /Users/labrown/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/commander-4.1.3/lib/commander/delegates.rb:11:in `run!'
    from /Users/labrown/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/commander-4.1.3/lib/commander/import.rb:10:in `block in <top (required)>'

Embedded URLs only for Admins & Agents

Hello,
In my AppleDeveloper account there are multiple teams.
In one of the teams i'm only a member and recognized that cupertino didn't work for that team. If i try to get the device:list i only get an empty table with 0 listed devices. I figured out, that cupertino uses the following URL to get device list: https://developer.apple.com/ios/manage/devices/index.action Using Safari to open that link shows an "Access denied" - warning. Members can check their devices here: https://developer.apple.com/ios/my/devices/index.action . Same problem for AppIDs and ProvisoningProfiles. Is there an easy way to fix that, or to check if the User is Admin, Agent or only a Member of the team? Changing the URL in agent.rb works for AppIDs but not for the deivice list, because the homepage doesn't use a checkbox to display the devices if you are only a member.

Commands don't return anything

Hi,
while cupertino worked for me in one of the earlier versions, it now returns nothing for any command, e.g. like this:

ios devices:list
WARNING: Nokogiri was built against LibXML version 2.7.8, but has dynamically loaded 2.8.0
+-------------+-------------------+
|       Listing 0 devices.        |
+-------------+-------------------+
| Device Name | Device Identifier |
+-------------+-------------------+
+-------------+-------------------+
  • Are there any known issues with the warning of libXML nokogiri prints out? I didn't find any in here.
  • My account is bound to multiple dev teams, but I can't select the team I'm using, so this might be the problem here, too.

Commands don't do anything

They just sit there. I do have a 'membership renewal' message on my Portal pages, until Apple verifies my renewal.

XML or JSON export?

Is it possible to render the output of ios as XML or JSON? I've some idears on how to integrate your wonderful gem into our build server to ease up delivering CI-builds to testers.

Feature request: add device to all profiles

Use case: a new person joins the team, and you have to add his/her iDevice UUID to the provisioning portal. This can be already automatized via

$ ios devices:add <DEVICE_ID>

But then you have to use profiles:manage:devices and manually add it to all the profiles (opening the external editor, etc).
My suggestion is something like this:

$ ios profiles:manage:add_device_to_all_profiles <DEVICE_ID>

(With a better name) which would do basically what it says. That way adding a new iDevice to the team is as simple as running two commands. Or pottentially one, if the second one also checks if the device is there, and adds it otherwise :)

Thoughts?

PS: I should learn Ruby, for real.

Devices count

It would be also good to see devices count after running ios devices:list. If I have the number close to limit (100) it's important to know how much devices I can add.

Thanks.

Profiles should be addressable by name, for automation's sake.

It would be quite beneficial for automated processes utilizing cupertino to address profiles by name.

For instance, currently to download a distribution profile, without interaction, you must pipe the number of the profile to the command, like this:

echo "1" | ios profiles:download distribution

And hope that "1" represents the profile you want to download.

It would be preferable to a) not have to pipe stdio and 2) to address the profile directly. Something like:

ios profiles:download distribution "MyApp AdHoc"

(assuming "MyApp AdHoc" is the name of a distribution profile).

Thanks for listening!

Levi

Not picking up my Ad Hoc profiles

I just started using Cupertino and I'm finding that it isn't picking up the Distribution profiles I use for testing. It only sees my Team profile:

RongeAir:~% ios -t profiles:list 
Select a team:
1. Central Atomics
2. XXXXX
3. XXXXX
?  1
+----------------------------------+------------+--------+
| Profile                          | App ID     | Status |
+----------------------------------+------------+--------+
| iOS Team Provisioning Profile: * | XXXXXX | Active |
+----------------------------------+------------+--------+

I'm part of multiple teams as well, perhaps that is related.

Let me know how I can help debug! T

Error Installing

Iโ€™m getting this when I try to install this gem:

  % sudo gem install cupertino                                                                                                                                                                                                               Building native extensions.  This could take a while...
ERROR:  Error installing cupertino:
    ERROR: Failed to build gem native extension.

        /opt/local/bin/ruby extconf.rb
checking for main() in -lstdc++... yes
checking for ruby/encoding.h... no
creating Makefile
CXX is automatically set to /usr/bin/clang++

make
/usr/bin/clang++ -I. -I. -I/opt/local/lib/ruby/1.8/i686-darwin12 -I. -I/opt/local/include -std=c89 -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE  -I/opt/local/include -std=c89 -fno-common -pipe -Os -arch x86_64  -fno-common -pipe -fno-common  -arch x86_64  -c unf.cc
error: invalid argument '-std=c89' not allowed with 'C++/ObjC++'
make: *** [unf.o] Error 1


Gem files will remain installed in /opt/local/lib/ruby/gems/1.8/gems/unf_ext-0.0.5 for inspection.
Results logged to /opt/local/lib/ruby/gems/1.8/gems/unf_ext-0.0.5/ext/unf_ext/gem_make.out

I have this version of Ruby, installed with MacPorts:

  % ruby -v                                                                                                                                                                                                                                  ruby 1.8.7 (2012-06-29 patchlevel 370) [i686-darwin12]
% port installed ruby                                                                                                                                                                                                                      The following ports are currently installed:
  ruby @1.8.7-p370_1 (active)

pass_type_ids:certificates:add throwing NoMethodError

I'm trying to use Cupertino (great tool btw!) to create a Pass type ID for me, but it is giving an NoMethodError. Here is the console output:

$ ios pass_type_ids:certificates:add pass.nl.wrep.test.cupertino --csr ~/wrep.csr --trace
Select a team:
1. TeamA
2. TeamB
?  1
/Library/Ruby/Gems/1.8/gems/cupertino-0.7.1/lib/cupertino/provisioning_portal/commands/pass_type_ids.rb:87: undefined method `[]' for nil:NilClass (NoMethodError)
    from /Library/Ruby/Gems/1.8/gems/commander-4.1.3/lib/commander/command.rb:180:in `call'
    from /Library/Ruby/Gems/1.8/gems/commander-4.1.3/lib/commander/command.rb:180:in `call'
    from /Library/Ruby/Gems/1.8/gems/commander-4.1.3/lib/commander/command.rb:155:in `run'
    from /Library/Ruby/Gems/1.8/gems/commander-4.1.3/lib/commander/runner.rb:402:in `run_active_command'
    from /Library/Ruby/Gems/1.8/gems/commander-4.1.3/lib/commander/runner.rb:78:in `run!'
    from /Library/Ruby/Gems/1.8/gems/commander-4.1.3/lib/commander/delegates.rb:7:in `run!'
    from /Library/Ruby/Gems/1.8/gems/commander-4.1.3/lib/commander/import.rb:10
    from /usr/bin/ios:23

After this error I've tried to use this CSR and pass type ID in the portal by hand, that's working fine. Also Cupertino did not change anything in the portal, so there is no ID created and no certificate generated.

Anyone who can give me a hand here?

Keychain never saved?

Running this on Ubuntu 12.04

It seems the keychain is never saved. I installed curpertino and issued:

sudo ios login

and then gave my username and password. However, executing

sudo ios:devices:list

always prompts me for my username and password

Unable to add multiple devices using single variable

Hi,

I have written a same script to add multiple devices by running single command
However, it is not recognizing the variable
variable for multiple devices is like
DEVICES="SH ./build.sh"
this build.sh will take all device list from testflight and add it to variable DEVICES in below format
"Device_name1"=Device_UDID1 "Device_name2"=Device_UDID2

I am running below command to add devices
$ios devices:add $DEVICES

However, when I am giving $ios device:add "xyz iPad"=123............1212
It is accepting

Can any one tell me, where i am wrong?

Could not find cupertino (>= 0)

After I installed successfully, when I type "ios login", error occured. information shown below:

/Users/Levey/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find       cupertino (>= 0) amongst [bigdecimal-1.1.0, io-console-0.3, json-1.5.4, minitest-2.5.1, rake-0.9.2.2, rdoc-3.9.4] (Gem::LoadError)
from /Users/Levey/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:256:in `to_spec'
from /Users/Levey/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems.rb:1231:in `gem'
from /Users/Levey/.rvm/gems/ruby-1.9.3-p194/bin/ios:18:in `<main>

SSL_connect error occured.

After I logined successfully, when I type "ios devices:list", error occured. information shown below:

error: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed. Use --trace to view backtrace

Is it possible to manage distribution profiles?

Is it possible to manage (add/remove devices) distribution profiles? It seems that I can manage only development profiles, unless I'm missing something... (yes, I have permission to mange the distribution ones on the web :)

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.