cupertino 0.7.1 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +13 -13
- data/README.md +48 -123
- data/cupertino.gemspec +4 -3
- data/lib/cupertino/provisioning_portal/agent.rb +144 -199
- data/lib/cupertino/provisioning_portal/commands/certificates.rb +6 -6
- data/lib/cupertino/provisioning_portal/commands/devices.rb +1 -1
- data/lib/cupertino/provisioning_portal/commands/login.rb +2 -2
- data/lib/cupertino/provisioning_portal/commands/logout.rb +2 -2
- data/lib/cupertino/provisioning_portal/commands/profiles.rb +2 -2
- data/lib/cupertino/provisioning_portal/commands.rb +0 -1
- data/lib/cupertino/provisioning_portal/helpers.rb +13 -4
- data/lib/cupertino/provisioning_portal.rb +7 -4
- data/lib/cupertino.rb +1 -2
- metadata +35 -62
- data/cupertino-0.7.0.gem +0 -0
- data/lib/cupertino/provisioning_portal/commands/pass_type_ids.rb +0 -139
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: fb126a731dcababd39c34124ed4b45c17a997083
|
4
|
+
data.tar.gz: 58b36f572201660c304b410205f2d6246fba3c01
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 6284590a5d7ac5264dedfc1e504ea8c2fe1084b2386e1f9e5fc13a9fb592597a9f3004c81e4b425f54e56ea55b5ef3c3fdf0c58a682be9c67897d09725cee03b
|
7
|
+
data.tar.gz: 895b0ea5f3c2ab46661bbdb18b5e6a27b5be1ad8365bb33f3c47b6d4be3d87528bcb15949a0f366d857d1ceb6350142b8a665f12bce8c381a81e623d7443e646
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
cupertino (0.
|
4
|
+
cupertino (0.8.0)
|
5
5
|
certified (>= 0.1.0)
|
6
6
|
commander (~> 4.1.2)
|
7
7
|
mechanize (~> 2.5.1)
|
@@ -11,19 +11,19 @@ PATH
|
|
11
11
|
terminal-table (~> 1.4.5)
|
12
12
|
|
13
13
|
GEM
|
14
|
-
remote:
|
14
|
+
remote: https://rubygems.org/
|
15
15
|
specs:
|
16
16
|
certified (0.1.1)
|
17
|
-
commander (4.1.
|
17
|
+
commander (4.1.3)
|
18
18
|
highline (~> 1.6.11)
|
19
|
-
domain_name (0.5.
|
19
|
+
domain_name (0.5.7)
|
20
20
|
unf (~> 0.0.3)
|
21
|
-
faraday (0.8.
|
21
|
+
faraday (0.8.7)
|
22
22
|
multipart-post (~> 1.1)
|
23
23
|
faraday_middleware (0.8.8)
|
24
24
|
faraday (>= 0.7.4, < 0.9)
|
25
|
-
highline (1.6.
|
26
|
-
json (1.7.
|
25
|
+
highline (1.6.18)
|
26
|
+
json (1.7.7)
|
27
27
|
mechanize (2.5.1)
|
28
28
|
domain_name (~> 0.5, >= 0.5.1)
|
29
29
|
mime-types (~> 1.17, >= 1.17.2)
|
@@ -32,16 +32,16 @@ GEM
|
|
32
32
|
nokogiri (~> 1.4)
|
33
33
|
ntlm-http (~> 0.1, >= 0.1.1)
|
34
34
|
webrobots (~> 0.0, >= 0.0.9)
|
35
|
-
mime-types (1.
|
36
|
-
multipart-post (1.
|
35
|
+
mime-types (1.23)
|
36
|
+
multipart-post (1.2.0)
|
37
37
|
net-http-digest_auth (1.2.1)
|
38
38
|
net-http-persistent (2.8)
|
39
|
-
nokogiri (1.5.
|
39
|
+
nokogiri (1.5.9)
|
40
40
|
ntlm-http (0.1.1)
|
41
41
|
rake (0.9.2.2)
|
42
42
|
rspec (0.6.4)
|
43
43
|
security (0.1.2)
|
44
|
-
shenzhen (0.
|
44
|
+
shenzhen (0.3.0)
|
45
45
|
commander (~> 4.1.2)
|
46
46
|
faraday (~> 0.8.0)
|
47
47
|
faraday_middleware (~> 0.8.7)
|
@@ -58,5 +58,5 @@ PLATFORMS
|
|
58
58
|
|
59
59
|
DEPENDENCIES
|
60
60
|
cupertino!
|
61
|
-
rake
|
62
|
-
rspec
|
61
|
+
rake
|
62
|
+
rspec
|
data/README.md
CHANGED
@@ -3,180 +3,105 @@
|
|
3
3
|
|
4
4
|
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!
|
5
5
|
|
6
|
-
|
6
|
+
> Cupertino is named after [Cupertino, CA](http://en.wikipedia.org/wiki/Cupertino,_California): home to Apple, Inc.'s world headquarters.
|
7
|
+
> It's part of a series of world-class command-line utilities for iOS development, which includes [Shenzhen](https://github.com/mattt/shenzhen) (Building & Distribution), [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).
|
7
8
|
|
8
9
|
## Installation
|
9
10
|
|
10
|
-
|
11
|
-
$ gem install cupertino
|
12
|
-
```
|
11
|
+
$ gem install cupertino
|
13
12
|
|
14
13
|
## Usage
|
15
14
|
|
16
15
|
### Authentication
|
17
16
|
|
18
|
-
|
19
|
-
|
20
|
-
```
|
17
|
+
$ ios login
|
18
|
+
|
21
19
|
|
22
20
|
_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)_
|
23
21
|
|
24
22
|
### Devices
|
25
23
|
|
26
|
-
|
27
|
-
$ ios devices:list
|
24
|
+
$ ios devices:list
|
28
25
|
|
29
|
-
+------------------------------+---------------------------------------+
|
30
|
-
| Listing 2 devices. You can register 98 additional devices. |
|
31
|
-
+---------------------------+------------------------------------------+
|
32
|
-
| Device Name | Device Identifier |
|
33
|
-
+---------------------------+------------------------------------------+
|
34
|
-
| Johnny Appleseed iPad | 0123456789012345678901234567890123abcdef |
|
35
|
-
| Johnny Appleseed iPhone | abcdef0123456789012345678901234567890123 |
|
36
|
-
+---------------------------+------------------------------------------+
|
26
|
+
+------------------------------+---------------------------------------+
|
27
|
+
| Listing 2 devices. You can register 98 additional devices. |
|
28
|
+
+---------------------------+------------------------------------------+
|
29
|
+
| Device Name | Device Identifier |
|
30
|
+
+---------------------------+------------------------------------------+
|
31
|
+
| Johnny Appleseed iPad | 0123456789012345678901234567890123abcdef |
|
32
|
+
| Johnny Appleseed iPhone | abcdef0123456789012345678901234567890123 |
|
33
|
+
+---------------------------+------------------------------------------+
|
37
34
|
|
38
|
-
$ ios devices:add "iPad 1"=abc123
|
39
|
-
$ ios devices:add "iPad 2"=def456 "iPad 3"=ghi789 ...
|
40
|
-
```
|
35
|
+
$ ios devices:add "iPad 1"=abc123
|
36
|
+
$ ios devices:add "iPad 2"=def456 "iPad 3"=ghi789 ...
|
41
37
|
|
42
38
|
### Provisioning Profiles
|
43
39
|
|
44
|
-
|
45
|
-
$ ios profiles:list
|
40
|
+
$ ios profiles:list
|
46
41
|
|
47
|
-
+----------------------------------+--------------+---------+
|
48
|
-
| Profile | App ID | Status |
|
49
|
-
+----------------------------------+--------------+---------+
|
50
|
-
| iOS Team Provisioning Profile: * | ABCDEFG123.* | Valid |
|
51
|
-
+----------------------------------+--------------+---------+
|
52
|
-
```
|
42
|
+
+----------------------------------+--------------+---------+
|
43
|
+
| Profile | App ID | Status |
|
44
|
+
+----------------------------------+--------------+---------+
|
45
|
+
| iOS Team Provisioning Profile: * | ABCDEFG123.* | Valid |
|
46
|
+
+----------------------------------+--------------+---------+
|
53
47
|
|
54
48
|
---
|
55
49
|
|
56
|
-
|
57
|
-
$ ios profiles:manage:devices
|
58
|
-
```
|
50
|
+
$ ios profiles:manage:devices
|
59
51
|
|
60
52
|
_Opens an editor with a list of devices, each of which can be commented / uncommented to turn them off / on for that provisioning profile._
|
61
53
|
|
62
|
-
|
63
|
-
|
64
|
-
Johnny Appleseed
|
65
|
-
# Johnny Appleseed iPhone abcdef0123456789012345678901234567890123
|
66
|
-
```
|
54
|
+
# Comment / Uncomment Devices to Turn Off / On for Provisioning Profile
|
55
|
+
Johnny Appleseed iPad 0123456789012345678901234567890123abcdef
|
56
|
+
# Johnny Appleseed iPhone abcdef0123456789012345678901234567890123
|
67
57
|
|
68
58
|
### App IDs
|
69
59
|
|
70
|
-
|
71
|
-
$ ios app_ids:list
|
72
|
-
|
73
|
-
+-----------------------------+------------------------+-------------------+-------------------+
|
74
|
-
| Bundle Seed ID | Description | Development | Distribution |
|
75
|
-
+-----------------------------+------------------------+-------------------+-------------------+
|
76
|
-
| 123ABCDEFG.com.mattt.bundle | App Bundle Description | Passes | Passes |
|
77
|
-
| | | Data Protection | Data Protection |
|
78
|
-
| | | iCloud | iCloud |
|
79
|
-
| | | In-App Purchase | In-App Purchase |
|
80
|
-
| | | Game Center | Game Center |
|
81
|
-
| | | Push Notification | Push Notification |
|
82
|
-
+-----------------------------+------------------------+-------------------+-------------------+
|
83
|
-
```
|
84
|
-
|
85
|
-
### Certificates
|
86
|
-
|
87
|
-
```
|
88
|
-
$ ios certificates:list
|
89
|
-
|
90
|
-
+------------------+----------------------------------+-----------------+--------+
|
91
|
-
| Name | Provisioning Profiles | Expiration Date | Status |
|
92
|
-
+------------------+----------------------------------+-----------------+--------+
|
93
|
-
| Johnny Appleseed | iOS Team Provisioning Profile: * | Dec 23, 2012 | Issued |
|
94
|
-
+------------------+----------------------------------+-----------------+--------+
|
95
|
-
```
|
96
|
-
|
97
|
-
### Pass Type IDs
|
98
|
-
|
99
|
-
```sh
|
100
|
-
$ ios pass_type_ids:add pass.com.example.coupon.myExamplePass --description "My Example Pass Coupon"
|
101
|
-
|
102
|
-
Added pass.com.example.coupon.myExamplePass: My Example Pass Coupon
|
103
|
-
```
|
104
|
-
|
105
|
-
---
|
106
|
-
|
107
|
-
```sh
|
108
|
-
$ ios pass_type_ids:list
|
109
|
-
|
110
|
-
+------------+--------------------------------------------+--------------+-------------------+
|
111
|
-
| Card ID | Identifier | Description | Pass Certificates |
|
112
|
-
+------------+--------------------------------------------+--------------+-------------------+
|
113
|
-
| WWWWWWWWWW | pass.com.example.coupon.myExamplePass | Coupon | None |
|
114
|
-
| XXXXXXXXXX | pass.com.example.eventTicket.myExamplePass | Event Ticket | Pass Certificate |
|
115
|
-
| YYYYYYYYYY | pass.com.example.movieTicket.myExamplePass | Movie Ticket | Pass Certificate |
|
116
|
-
| ZZZZZZZZZZ | pass.com.example.test.001 | Test | Pass Certificate |
|
117
|
-
+------------+--------------------------------------------+--------------+-------------------+
|
118
|
-
```
|
119
|
-
|
120
|
-
---
|
121
|
-
|
122
|
-
```sh
|
123
|
-
$ ios pass_type_ids:certificates:add pass.com.example.coupon.myExamplePass --csr /path/to/csr
|
124
|
-
|
125
|
-
Configured pass.com.example.coupon.myExamplePass. Apple is generating the certificate...
|
126
|
-
Certificate generated and is ready to be downloaded.
|
127
|
-
```
|
128
|
-
|
129
|
-
---
|
60
|
+
$ ios app_ids:list
|
130
61
|
|
131
|
-
|
132
|
-
|
62
|
+
+-----------------------------+------------------------+-------------------+-------------------+
|
63
|
+
| Bundle Seed ID | Description | Development | Distribution |
|
64
|
+
+-----------------------------+------------------------+-------------------+-------------------+
|
65
|
+
| 123ABCDEFG.com.mattt.bundle | App Bundle Description | Passes | Passes |
|
66
|
+
| | | Data Protection | Data Protection |
|
67
|
+
| | | iCloud | iCloud |
|
68
|
+
| | | In-App Purchase | In-App Purchase |
|
69
|
+
| | | Game Center | Game Center |
|
70
|
+
| | | Push Notification | Push Notification |
|
71
|
+
+-----------------------------+------------------------+-------------------+-------------------+
|
133
72
|
|
134
|
-
|
135
|
-
| Name | Status | Expiration Date | Certificate ID |
|
136
|
-
+------------------+------------+-----------------+----------------+
|
137
|
-
| Pass Certificate | Configured | Nov 21, 2013 | AAAAAAAAAA |
|
138
|
-
+------------------+------------+-----------------+----------------+
|
139
|
-
```
|
140
|
-
|
141
|
-
---
|
73
|
+
### Certificates
|
142
74
|
|
143
|
-
|
144
|
-
$ ios pass_type_ids:certificates:download pass.com.example.coupon.myExamplePass --certificate_id AAAAAAAAAA
|
75
|
+
$ ios certificates:list
|
145
76
|
|
146
|
-
|
147
|
-
|
77
|
+
+------------------+----------------------------------+-----------------+--------+
|
78
|
+
| Name | Provisioning Profiles | Expiration Date | Status |
|
79
|
+
+------------------+----------------------------------+-----------------+--------+
|
80
|
+
| Johnny Appleseed | iOS Team Provisioning Profile: * | Dec 23, 2012 | Issued |
|
81
|
+
+------------------+----------------------------------+-----------------+--------+
|
148
82
|
|
149
83
|
## Commands
|
150
84
|
|
151
|
-
_Crossed out commands are not yet implemented_
|
152
|
-
|
153
85
|
- `login`
|
154
86
|
- `logout`
|
155
|
-
|
156
87
|
- `devices:add`
|
157
88
|
- `devices:list`
|
158
|
-
- ~~`devices:remove`~~
|
159
|
-
|
160
89
|
- `profiles:list`
|
161
90
|
- `profiles:manage:devices`
|
162
91
|
- `profiles:download`
|
163
|
-
- ~~`profiles:add`~~
|
164
|
-
- ~~`profiles:edit`~~
|
165
|
-
|
166
92
|
- `certificates:list [development|distribution]`
|
167
93
|
- `certificates:download`
|
168
|
-
- ~~`certificates:revoke CERTIFICATE_NAME`~~
|
169
|
-
|
170
94
|
- `app_ids:list`
|
171
|
-
|
95
|
+
|
96
|
+
### Disabled Commands
|
97
|
+
|
98
|
+
> With the latest updates to the Apple Developer Portal, the following functionality has been removed.
|
172
99
|
|
173
100
|
- `pass_type_ids:list`
|
174
101
|
- `pass_type_ids:add`
|
175
|
-
- ~~`pass_type_ids:remove`~~
|
176
102
|
- `pass_type_ids:certificates:list`
|
177
103
|
- `pass_type_ids:certificates:add`
|
178
104
|
- `pass_type_ids:certificates:download`
|
179
|
-
- ~~`pass_type_ids:certificates:revoke CERTIFICATE_NAME`~~
|
180
105
|
|
181
106
|
## Contact
|
182
107
|
|
data/cupertino.gemspec
CHANGED
@@ -4,6 +4,7 @@ require "cupertino"
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |s|
|
6
6
|
s.name = "cupertino"
|
7
|
+
s.license = "MIT"
|
7
8
|
s.authors = ["Mattt Thompson"]
|
8
9
|
s.email = "m@mattt.me"
|
9
10
|
s.homepage = "http://mattt.me"
|
@@ -12,9 +13,6 @@ Gem::Specification.new do |s|
|
|
12
13
|
s.summary = "Cupertino"
|
13
14
|
s.description = "A command-line interface for the iOS Provisioning Portal"
|
14
15
|
|
15
|
-
s.add_development_dependency "rspec", "~> 0.6.1"
|
16
|
-
s.add_development_dependency "rake", "~> 0.9.2"
|
17
|
-
|
18
16
|
s.add_dependency "commander", "~> 4.1.2"
|
19
17
|
s.add_dependency "terminal-table", "~> 1.4.5"
|
20
18
|
s.add_dependency "term-ansicolor", "~> 1.0.7"
|
@@ -23,6 +21,9 @@ Gem::Specification.new do |s|
|
|
23
21
|
s.add_dependency "shenzhen", ">= 0.0.1"
|
24
22
|
s.add_dependency "certified", ">= 0.1.0"
|
25
23
|
|
24
|
+
s.add_development_dependency "rspec"
|
25
|
+
s.add_development_dependency "rake"
|
26
|
+
|
26
27
|
s.files = Dir["./**/*"].reject { |file| file =~ /\.\/(bin|log|pkg|script|spec|test|vendor)/ }
|
27
28
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
28
29
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|