omudid 1.0.6 → 1.0.7
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.
- data/.travis.yml +5 -0
- data/Gemfile +0 -4
- data/README.md +3 -0
- data/Rakefile +8 -0
- data/bin/omudid +44 -37
- data/lib/omudid/portal_agent.rb +51 -6
- data/lib/omudid/testflight_agent.rb +44 -5
- data/lib/omudid.rb +1 -1
- data/omudid.gemspec +7 -2
- data/test/.DS_Store +0 -0
- data/test/test_omudid.rb +37 -0
- data/test/vcr/teams.yml +682 -0
- metadata +69 -13
data/.travis.yml
ADDED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -5,6 +5,8 @@ Conveniently add a UDID to the iOS Developer Portal, refresh a provisioning prof
|
|
5
5
|
|
6
6
|
Uploading a new provisioning profile to TestFlight is also supported.
|
7
7
|
|
8
|
+
[](https://travis-ci.org/Papercloud/OneMoreUDID)
|
9
|
+
|
8
10
|
Installation
|
9
11
|
-
|
10
12
|
```
|
@@ -107,4 +109,5 @@ Note: you can repeat this process by running:
|
|
107
109
|
|
108
110
|
Loading page... done
|
109
111
|
Submitted ~/Library/MobileDevice/Provisioning Profiles/demo1.mobileprovision
|
112
|
+
Share link: http://testflightapp.com/install/XYZ/
|
110
113
|
```
|
data/Rakefile
CHANGED
data/bin/omudid
CHANGED
@@ -13,7 +13,7 @@ require 'cupertino_compatibility'
|
|
13
13
|
require 'shellwords'
|
14
14
|
|
15
15
|
program :name, 'OneMoreUDID'
|
16
|
-
program :version,
|
16
|
+
program :version, "1.0.7"
|
17
17
|
program :description, '''Uses the developer portal to add one device to a provisioning profile,
|
18
18
|
then downloads and installs the new profile.
|
19
19
|
Also uploads provisioning profiles to TestFlight.'''
|
@@ -28,19 +28,19 @@ command :'list-teams' do |c|
|
|
28
28
|
c.description = ''
|
29
29
|
|
30
30
|
c.action do |args, options|
|
31
|
-
|
32
|
-
|
31
|
+
agent = OneMoreUDID::PortalAgent.new
|
32
|
+
|
33
|
+
username, password = (args[0] rescue nil), (args[1] rescue nil)
|
34
|
+
username, password = agent.login(username, password)
|
33
35
|
|
34
36
|
if !args[1]
|
35
37
|
puts
|
36
|
-
say_warning 'Note: you can
|
38
|
+
say_warning 'Note: you can automate this process by running:'
|
37
39
|
say_warning ' omudid list-teams ' + Shellwords.escape(username) + ' [password]'
|
38
40
|
puts
|
39
41
|
end
|
40
42
|
|
41
|
-
|
42
|
-
|
43
|
-
teams = agent.get_teams(username, password)
|
43
|
+
teams = agent.get_teams()
|
44
44
|
|
45
45
|
table = Terminal::Table.new do |t|
|
46
46
|
t << ['Team ID', 'Team Name']
|
@@ -62,23 +62,23 @@ command :'list-profiles' do |c|
|
|
62
62
|
c.description = ''
|
63
63
|
|
64
64
|
c.action do |args, options|
|
65
|
+
agent = OneMoreUDID::PortalAgent.new
|
66
|
+
|
67
|
+
username, password = (args[0] rescue nil), (args[1] rescue nil)
|
68
|
+
username, password = agent.login(username, password)
|
65
69
|
|
66
|
-
username = (args[0] or ask 'Apple Username:')
|
67
|
-
password = (args[1] or pw 'Apple Password:')
|
68
70
|
team_name = args[2] rescue ''
|
69
71
|
|
70
72
|
if !args[1]
|
71
73
|
puts
|
72
74
|
end
|
73
75
|
|
74
|
-
agent
|
75
|
-
|
76
|
-
agent.setup_cupertino(username, password, team_name)
|
76
|
+
agent.setup_cupertino(team_name)
|
77
77
|
profiles = agent.list_profiles()
|
78
78
|
|
79
79
|
if !args[1]
|
80
80
|
puts
|
81
|
-
say_warning 'Note: you can
|
81
|
+
say_warning 'Note: you can automate this process by running:'
|
82
82
|
|
83
83
|
if agent.agent.instance_variable_get('@team')
|
84
84
|
say_warning ' omudid list-profiles ' + Shellwords.escape(username) + ' [password] ' + agent.agent.instance_variable_get('@team')
|
@@ -109,14 +109,19 @@ command :add do |c|
|
|
109
109
|
|
110
110
|
c.action do |args, options|
|
111
111
|
|
112
|
-
|
113
|
-
password = (args[
|
112
|
+
agent = OneMoreUDID::PortalAgent.new
|
113
|
+
username, password = (args[0] rescue nil), (args[1] rescue nil)
|
114
|
+
username, password = agent.login(username, password)
|
114
115
|
|
115
|
-
profile_name = (args[2] or ask 'Profile name (leave blank to select from available profiles):')
|
116
|
+
profile_name = (args[2] or (puts; ask 'Profile name (leave blank to select from available profiles):'))
|
116
117
|
device_name = (args[3] or ask 'Device name:')
|
117
118
|
udid = (args[4] or ask 'UDID:')
|
118
119
|
team_name = args[5] rescue ''
|
119
120
|
|
121
|
+
if udid.match(/^[A-f0-9]{40}$/).nil?
|
122
|
+
say_error 'Invalid UDID entered, won\'t be inserted.'
|
123
|
+
end
|
124
|
+
|
120
125
|
show_hint = false
|
121
126
|
|
122
127
|
if !args[4]
|
@@ -124,8 +129,7 @@ command :add do |c|
|
|
124
129
|
puts
|
125
130
|
end
|
126
131
|
|
127
|
-
agent
|
128
|
-
agent.setup_cupertino(username, password, team_name)
|
132
|
+
agent.setup_cupertino(team_name)
|
129
133
|
|
130
134
|
agent.add_device(device_name, udid)
|
131
135
|
|
@@ -136,7 +140,7 @@ command :add do |c|
|
|
136
140
|
end
|
137
141
|
|
138
142
|
if show_hint
|
139
|
-
say_warning 'Note: you can
|
143
|
+
say_warning 'Note: you can automate this process by running:'
|
140
144
|
|
141
145
|
if agent.agent.instance_variable_get('@team')
|
142
146
|
say_warning ' omudid add ' + Shellwords.escape(username) + ' [password] ' + Shellwords.escape(profile_name) + ' ' + Shellwords.escape(device_name) + ' ' + Shellwords.escape(udid) + ' ' + agent.agent.instance_variable_get('@team')
|
@@ -163,17 +167,17 @@ command :'testflight list-apps' do |c|
|
|
163
167
|
|
164
168
|
c.action do |args, options|
|
165
169
|
|
166
|
-
|
167
|
-
|
170
|
+
agent = OneMoreUDID::TestFlightAgent.new
|
171
|
+
|
172
|
+
username, password = (args[0] rescue nil), (args[1] rescue nil)
|
173
|
+
username, password = agent.login(username, password)
|
168
174
|
|
169
175
|
if !args[1]
|
170
|
-
|
171
|
-
say_warning 'Note: you can repeat this process by running:'
|
176
|
+
say_warning 'Note: you can automate this process by running:'
|
172
177
|
say_warning ' omudid testflight list-apps ' + Shellwords.escape(username) + ' [password]'
|
173
178
|
puts
|
174
179
|
end
|
175
180
|
|
176
|
-
agent = OneMoreUDID::TestFlightAgent.new(username, password)
|
177
181
|
apps = agent.get_apps()
|
178
182
|
|
179
183
|
table = Terminal::Table.new do |t|
|
@@ -197,8 +201,10 @@ command :'testflight list-builds' do |c|
|
|
197
201
|
|
198
202
|
c.action do |args, options|
|
199
203
|
|
200
|
-
|
201
|
-
password = (args[
|
204
|
+
agent = OneMoreUDID::TestFlightAgent.new
|
205
|
+
username, password = (args[0] rescue nil), (args[1] rescue nil)
|
206
|
+
username, password = agent.login(username, password)
|
207
|
+
|
202
208
|
app_id = (args[2] or ask 'App ID (leave blank to select from available IDs):')
|
203
209
|
|
204
210
|
show_hint = false
|
@@ -207,17 +213,16 @@ command :'testflight list-builds' do |c|
|
|
207
213
|
show_hint = true
|
208
214
|
end
|
209
215
|
|
210
|
-
agent = OneMoreUDID::TestFlightAgent.new(username, password)
|
211
|
-
|
212
216
|
if app_id == ''
|
217
|
+
apps = agent.get_apps().collect{ |id, name| id + ' ('+name+')' }
|
213
218
|
puts
|
214
|
-
choice = choose 'Select an app ID:', *
|
219
|
+
choice = choose 'Select an app ID:', *apps
|
215
220
|
puts
|
216
221
|
regex = /^[^ ]*/
|
217
222
|
app_id = (choice.match regex)[0]
|
218
223
|
end
|
219
224
|
|
220
|
-
say_warning 'Note: you can
|
225
|
+
say_warning 'Note: you can automate this process by running:'
|
221
226
|
say_warning ' omudid testflight list-builds ' + Shellwords.escape(username) + ' [password] ' + Shellwords.escape(app_id)
|
222
227
|
puts
|
223
228
|
|
@@ -244,8 +249,10 @@ command :'testflight upload' do |c|
|
|
244
249
|
|
245
250
|
c.action do |args, options|
|
246
251
|
|
247
|
-
|
248
|
-
password = (args[
|
252
|
+
agent = OneMoreUDID::TestFlightAgent.new
|
253
|
+
username, password = (args[0] rescue nil), (args[1] rescue nil)
|
254
|
+
username, password = agent.login(username, password)
|
255
|
+
|
249
256
|
build_id = (args[2] or ask 'Build ID (leave blank to select from available IDs):')
|
250
257
|
profile_name = (args[3] or ask 'Profile name (leave blank to select from available local profiles):')
|
251
258
|
|
@@ -255,21 +262,21 @@ command :'testflight upload' do |c|
|
|
255
262
|
show_hint = true
|
256
263
|
end
|
257
264
|
|
258
|
-
agent = OneMoreUDID::TestFlightAgent.new(username, password)
|
259
|
-
|
260
265
|
if build_id == ''
|
261
266
|
app_id = ask 'Enter an App ID to list builds (or leave blank to list App IDs):'
|
262
267
|
|
263
268
|
if app_id == ''
|
269
|
+
apps = agent.get_apps().collect{ |id, name| id + ' ('+name+')' }
|
264
270
|
puts
|
265
|
-
choice = choose 'Select an app ID:', *
|
271
|
+
choice = choose 'Select an app ID:', *apps
|
266
272
|
puts
|
267
273
|
regex = /^[^ ]*/
|
268
274
|
app_id = (choice.match regex)[0]
|
269
275
|
end
|
270
276
|
|
277
|
+
builds = agent.get_builds(app_id).collect{ |id, name| id + ' ('+name+')' }
|
271
278
|
puts
|
272
|
-
choice = choose 'Select a build ID:', *
|
279
|
+
choice = choose 'Select a build ID:', *builds
|
273
280
|
puts
|
274
281
|
regex = /^[^ ]*/
|
275
282
|
build_id = (choice.match regex)[0]
|
@@ -286,7 +293,7 @@ command :'testflight upload' do |c|
|
|
286
293
|
end
|
287
294
|
|
288
295
|
if show_hint
|
289
|
-
say_warning 'Note: you can
|
296
|
+
say_warning 'Note: you can automate this process by running:'
|
290
297
|
say_warning ' omudid testflight list-builds ' + Shellwords.escape(username) + ' [password] ' + Shellwords.escape(build_id) + ' ' + Shellwords.escape(profile_name)
|
291
298
|
puts
|
292
299
|
end
|
data/lib/omudid/portal_agent.rb
CHANGED
@@ -1,9 +1,54 @@
|
|
1
|
+
require 'keychain'
|
2
|
+
|
1
3
|
module OneMoreUDID
|
2
4
|
class PortalAgent
|
3
5
|
|
4
6
|
attr_accessor :agent
|
7
|
+
attr_accessor :username, :password
|
8
|
+
|
9
|
+
def login(username, password)
|
10
|
+
if username != nil and password != nil
|
11
|
+
self.username, self.password = username, password
|
12
|
+
return
|
13
|
+
end
|
14
|
+
|
15
|
+
accounts = Keychain.generic_password_items.select { |item| item.label == "omudid" }
|
16
|
+
username = password = nil
|
17
|
+
if accounts and accounts.count > 0
|
18
|
+
choice = choose 'Select an account to use:', *accounts.collect{ |account| account.account }.push('New account').push('Delete account')
|
19
|
+
case choice
|
20
|
+
when "New account"
|
21
|
+
puts
|
22
|
+
when "Delete account"
|
23
|
+
puts
|
24
|
+
to_delete = choose 'Select an account to delete:', *accounts.collect{ |account| account.account }.push('ALL')
|
25
|
+
case to_delete
|
26
|
+
when "ALL"
|
27
|
+
accounts.each{ |account| account.delete }
|
28
|
+
else
|
29
|
+
account = Keychain.generic_password_items.find { |item| item.label == "omudid" and item.account == to_delete }.delete
|
30
|
+
end
|
31
|
+
abort
|
32
|
+
else
|
33
|
+
account = Keychain.generic_password_items.find { |item| item.label == "omudid" and item.account == choice }
|
34
|
+
username = account.account
|
35
|
+
password = account.password
|
36
|
+
end
|
37
|
+
end
|
38
|
+
if username == nil
|
39
|
+
username = ask 'Apple Username:'
|
40
|
+
password = pw 'Apple Password:'
|
41
|
+
puts
|
42
|
+
if agree 'Do you want to save these login details? (yes/no)'
|
43
|
+
Keychain.add_generic_password('omudid', username, password) rescue say_error 'Credentials not saved, email already stored in keychain.'
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
self.username, self.password = username, password
|
48
|
+
return username, password
|
49
|
+
end
|
5
50
|
|
6
|
-
def get_teams
|
51
|
+
def get_teams
|
7
52
|
agent = Cupertino::ProvisioningPortal::Agent.new
|
8
53
|
|
9
54
|
agent.instance_eval do
|
@@ -33,8 +78,8 @@ module OneMoreUDID
|
|
33
78
|
end
|
34
79
|
end
|
35
80
|
|
36
|
-
agent.username = username
|
37
|
-
agent.password = password
|
81
|
+
agent.username = self.username
|
82
|
+
agent.password = self.password
|
38
83
|
|
39
84
|
agent.get('https://developer.apple.com/account/selectTeam.action')
|
40
85
|
|
@@ -50,7 +95,7 @@ module OneMoreUDID
|
|
50
95
|
formatted_teams
|
51
96
|
end
|
52
97
|
|
53
|
-
def setup_cupertino(
|
98
|
+
def setup_cupertino(team_name = '')
|
54
99
|
agent = Cupertino::ProvisioningPortal::Agent.new
|
55
100
|
|
56
101
|
agent.instance_eval do
|
@@ -107,8 +152,8 @@ module OneMoreUDID
|
|
107
152
|
end
|
108
153
|
end
|
109
154
|
|
110
|
-
agent.username = username
|
111
|
-
agent.password = password
|
155
|
+
agent.username = self.username
|
156
|
+
agent.password = self.password
|
112
157
|
agent.instance_variable_set(:@teamName, team_name)
|
113
158
|
|
114
159
|
@agent = agent
|
@@ -1,13 +1,52 @@
|
|
1
|
+
require 'keychain'
|
2
|
+
|
1
3
|
module OneMoreUDID
|
2
4
|
class TestFlightAgent < ::Mechanize
|
3
5
|
|
4
6
|
attr_accessor :username, :password
|
5
7
|
|
6
|
-
def
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
def login(username, password)
|
9
|
+
if username != nil and password != nil
|
10
|
+
self.username, self.password = username, password
|
11
|
+
return
|
12
|
+
end
|
13
|
+
|
14
|
+
accounts = Keychain.generic_password_items.select { |item| item.label == "testflight" }
|
15
|
+
username = password = nil
|
16
|
+
if accounts and accounts.count > 0
|
17
|
+
choice = choose 'Select an account to use:', *accounts.collect{ |account| account.account }.push('New account').push('Delete account')
|
18
|
+
case choice
|
19
|
+
when "New account"
|
20
|
+
puts
|
21
|
+
when "Delete account"
|
22
|
+
puts
|
23
|
+
to_delete = choose 'Select an account to delete:', *accounts.collect{ |account| account.account }.push('ALL')
|
24
|
+
case to_delete
|
25
|
+
when "ALL"
|
26
|
+
accounts.each{ |account| account.delete }
|
27
|
+
else
|
28
|
+
account = Keychain.generic_password_items.find { |item| item.label == "testflight" and item.account == to_delete }.delete
|
29
|
+
end
|
30
|
+
abort
|
31
|
+
else
|
32
|
+
account = Keychain.generic_password_items.find { |item| item.label == "testflight" and item.account == choice }
|
33
|
+
username = account.account
|
34
|
+
password = account.password
|
35
|
+
puts
|
36
|
+
end
|
37
|
+
end
|
38
|
+
if username == nil
|
39
|
+
username = ask 'Testflight Username:'
|
40
|
+
password = pw 'Testflight Password:'
|
41
|
+
puts
|
42
|
+
if agree 'Do you want to save these login details? (yes/no)'
|
43
|
+
Keychain.add_generic_password('testflight', username, password) rescue say_error 'Credentials not saved, email already stored in keychain.'
|
44
|
+
end
|
45
|
+
puts
|
46
|
+
end
|
47
|
+
|
48
|
+
self.username, self.password = username, password
|
49
|
+
return username, password
|
11
50
|
end
|
12
51
|
|
13
52
|
def get(uri, parameters = [], referer = nil, headers = {})
|
data/lib/omudid.rb
CHANGED
data/omudid.gemspec
CHANGED
@@ -2,11 +2,12 @@
|
|
2
2
|
lib = File.expand_path('../lib', __FILE__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
4
|
|
5
|
-
require '
|
5
|
+
#require 'rubygems'
|
6
|
+
#require 'omudid'
|
6
7
|
|
7
8
|
Gem::Specification.new do |spec|
|
8
9
|
spec.name = "omudid"
|
9
|
-
spec.version =
|
10
|
+
spec.version = "1.0.7"
|
10
11
|
spec.authors = ["David Lawson"]
|
11
12
|
spec.email = ["tech.lawson@gmail.com"]
|
12
13
|
spec.description = 'Conveniently add a UDID to the iOS Developer Portal, refresh a provisioning profile and download it. Uploading a new provisioning profile to TestFlight is also supported.'
|
@@ -21,8 +22,12 @@ Gem::Specification.new do |spec|
|
|
21
22
|
|
22
23
|
spec.add_development_dependency "bundler", "~> 1.3"
|
23
24
|
spec.add_development_dependency "rake"
|
25
|
+
spec.add_development_dependency "vcr"
|
26
|
+
spec.add_development_dependency "webmock"
|
24
27
|
|
28
|
+
spec.add_dependency "nokogiri", "1.5.9"
|
25
29
|
spec.add_dependency "cupertino"
|
30
|
+
spec.add_dependency "keychain_services"
|
26
31
|
|
27
32
|
spec.add_dependency "spinning_cursor"
|
28
33
|
spec.add_dependency "rainbow"
|
data/test/.DS_Store
ADDED
Binary file
|
data/test/test_omudid.rb
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
|
3
|
+
require 'omudid'
|
4
|
+
|
5
|
+
module Commander
|
6
|
+
module UI
|
7
|
+
attr :password
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
require 'terminal-table'
|
12
|
+
require 'term/ansicolor'
|
13
|
+
|
14
|
+
require 'cupertino_compatibility'
|
15
|
+
|
16
|
+
require 'test/unit'
|
17
|
+
require 'vcr'
|
18
|
+
require 'omudid/portal_agent'
|
19
|
+
|
20
|
+
VCR.configure do |c|
|
21
|
+
c.cassette_library_dir = 'test/vcr'
|
22
|
+
c.hook_into :webmock # or :fakeweb
|
23
|
+
c.default_cassette_options = { :serialize_with => :syck }
|
24
|
+
end
|
25
|
+
|
26
|
+
class OneMoreUDIDTest < Test::Unit::TestCase
|
27
|
+
def test_teams
|
28
|
+
VCR.use_cassette('teams') do
|
29
|
+
agent = OneMoreUDID::PortalAgent.new
|
30
|
+
teams = agent.get_teams('test@email.com', 'password')
|
31
|
+
|
32
|
+
assert teams.count == 2
|
33
|
+
assert teams['XYZ1'] == 'Team 1'
|
34
|
+
assert teams['XYZ2'] == 'Team 2 - iOS Developer Program'
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
data/test/vcr/teams.yml
ADDED
@@ -0,0 +1,682 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://developer.apple.com/account/selectTeam.action
|
6
|
+
body:
|
7
|
+
string: ""
|
8
|
+
headers:
|
9
|
+
Accept:
|
10
|
+
- "*/*"
|
11
|
+
Accept-Language:
|
12
|
+
- en-us,en;q=0.5
|
13
|
+
User-Agent:
|
14
|
+
- Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/534.51.22 (KHTML, like Gecko) Version/5.1.1 Safari/534.51.22
|
15
|
+
Accept-Charset:
|
16
|
+
- ISO-8859-1,utf-8;q=0.7,*;q=0.7
|
17
|
+
Host:
|
18
|
+
- developer.apple.com
|
19
|
+
Accept-Encoding:
|
20
|
+
- gzip,deflate,identity
|
21
|
+
Keep-Alive:
|
22
|
+
- 300
|
23
|
+
Connection:
|
24
|
+
- keep-alive
|
25
|
+
response:
|
26
|
+
status:
|
27
|
+
code: 302
|
28
|
+
message: Moved Temporarily
|
29
|
+
headers:
|
30
|
+
Location:
|
31
|
+
- https://daw.apple.com/cgi-bin/WebObjects/DSAuthWeb.woa/wa/login?appIdKey=d4f7d769c2abecc664d0dadfed6a67f943442b5e9c87524d4587a95773750cea&path=%2F%2Faccount%2FselectTeam.action
|
32
|
+
Set-Cookie:
|
33
|
+
- NSC_MCWT_efwfmpqfs_443_BqbdifKbwb=ffffffff12f61da945525d5f4f58455e445a4a4232aa;Version=1;path=/;secure;httponly
|
34
|
+
Cache-Control:
|
35
|
+
- post-check=0, pre-check=0
|
36
|
+
Server:
|
37
|
+
- Apache
|
38
|
+
Content-Type:
|
39
|
+
- text/plain
|
40
|
+
Last-Modified:
|
41
|
+
- Thu, 27 Jun 2013 07:35:22 GMT
|
42
|
+
Content-Length:
|
43
|
+
- "0"
|
44
|
+
Ms-Author-Via:
|
45
|
+
- DAV
|
46
|
+
Expires:
|
47
|
+
- Mon, 26 Jul 1997 05:00:00 GMT
|
48
|
+
Pragma:
|
49
|
+
- no-cache
|
50
|
+
X-Frame-Options:
|
51
|
+
- SAMEORIGIN
|
52
|
+
- SAMEORIGIN
|
53
|
+
Keep-Alive:
|
54
|
+
- timeout=15, max=479
|
55
|
+
Date:
|
56
|
+
- Thu, 27 Jun 2013 07:35:22 GMT
|
57
|
+
Connection:
|
58
|
+
- Keep-Alive
|
59
|
+
body:
|
60
|
+
string: ""
|
61
|
+
http_version:
|
62
|
+
recorded_at: Thu, 27 Jun 2013 07:35:33 GMT
|
63
|
+
- request:
|
64
|
+
method: get
|
65
|
+
uri: https://daw.apple.com/cgi-bin/WebObjects/DSAuthWeb.woa/wa/login?appIdKey=d4f7d769c2abecc664d0dadfed6a67f943442b5e9c87524d4587a95773750cea&path=//account/selectTeam.action
|
66
|
+
body:
|
67
|
+
string: ""
|
68
|
+
headers:
|
69
|
+
Accept:
|
70
|
+
- "*/*"
|
71
|
+
Accept-Language:
|
72
|
+
- en-us,en;q=0.5
|
73
|
+
User-Agent:
|
74
|
+
- Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/534.51.22 (KHTML, like Gecko) Version/5.1.1 Safari/534.51.22
|
75
|
+
Accept-Charset:
|
76
|
+
- ISO-8859-1,utf-8;q=0.7,*;q=0.7
|
77
|
+
Host:
|
78
|
+
- daw.apple.com
|
79
|
+
Accept-Encoding:
|
80
|
+
- gzip,deflate,identity
|
81
|
+
Keep-Alive:
|
82
|
+
- 300
|
83
|
+
Connection:
|
84
|
+
- keep-alive
|
85
|
+
response:
|
86
|
+
status:
|
87
|
+
code: 200
|
88
|
+
message: Apple
|
89
|
+
headers:
|
90
|
+
Cache-Control:
|
91
|
+
- max-age=0
|
92
|
+
- must-revalidate
|
93
|
+
- no-cache
|
94
|
+
- no-store
|
95
|
+
- private
|
96
|
+
Server:
|
97
|
+
- Apache
|
98
|
+
Content-Type:
|
99
|
+
- text/html; charset=iso-8859-1
|
100
|
+
Content-Length:
|
101
|
+
- "8171"
|
102
|
+
Expires:
|
103
|
+
- Wed, 05-Jun-2013 18:38:39 GMT
|
104
|
+
Pragma:
|
105
|
+
- no-cache
|
106
|
+
Cneonction:
|
107
|
+
- close
|
108
|
+
Date:
|
109
|
+
- Thu, 27 Jun 2013 07:35:23 GMT
|
110
|
+
body:
|
111
|
+
string: "<!DOCTYPE html>\n\
|
112
|
+
<html lang=\"en-us\">\n\
|
113
|
+
<head>\n\
|
114
|
+
\t<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />\n\
|
115
|
+
\t<meta name=\"Author\" content=\"Apple Inc.\" />\n\
|
116
|
+
\t<meta name=\"viewport\" content=\"width=1024\" />\n\
|
117
|
+
\t<link rel=\"shortcut icon\" href=\"https://devimages.apple.com.edgekey.net/favicon.ico\" />\n\
|
118
|
+
\t<link rel=\"icon\" href=\"https://devimages.apple.com.edgekey.net/favicon.ico\" />\n\
|
119
|
+
\t<link rel=\"stylesheet\" href=\"https://devimages.apple.com.edgekey.net/assets/core/styles/base.css\" type=\"text/css\" />\n\
|
120
|
+
\t<link rel=\"stylesheet\" href=\"https://devimages.apple.com.edgekey.net/assets/core/styles/adc.css\" type=\"text/css\" />\n\
|
121
|
+
\t<script src=\"https://devimages.apple.com.edgekey.net/assets/core/scripts/lib/prototype.js\" type=\"text/javascript\" charset=\"utf-8\"></script>\n\
|
122
|
+
\t<script src=\"https://devimages.apple.com.edgekey.net/assets/core/scripts/lib/scriptaculous.js\" type=\"text/javascript\" charset=\"utf-8\"></script>\n\
|
123
|
+
\t<script src=\"https://devimages.apple.com.edgekey.net/assets/core/scripts/browserdetect.js\" type=\"text/javascript\" charset=\"utf-8\"></script>\n\
|
124
|
+
\t<script src=\"https://devimages.apple.com.edgekey.net/assets/core/scripts/apple_core.js\" type=\"text/javascript\" charset=\"utf-8\"></script>\n\
|
125
|
+
\t<script src=\"https://devimages.apple.com.edgekey.net/assets/core/scripts/search_decorator.js\" type=\"text/javascript\" charset=\"utf-8\"></script>\n\
|
126
|
+
\t<script src=\"https://devimages.apple.com.edgekey.net/assets/core/scripts/adc_core.js\" type=\"text/javascript\" charset=\"utf-8\"></script>\n\
|
127
|
+
\t<script src=\"https://devimages.apple.com.edgekey.net/assets/scripts/ac_retina.js\" type=\"text/javascript\" charset=\"utf-8\"></script>\n\
|
128
|
+
\t<script type=\"text/javascript\">\n\
|
129
|
+
\t\tdocument.write('<link rel=\"stylesheet\" type=\"text/css\" href=\"https://devimages.apple.com.edgekey.net/assets/styles/script.css\" media=\"screen\">');\n\
|
130
|
+
\t</script>\t\n\
|
131
|
+
\t\n\
|
132
|
+
\t<title>Sign in with your Apple ID - Apple Developer</title>\n\
|
133
|
+
\t<link rel=\"stylesheet\" href=\"https://devimages.apple.com.edgekey.net/assets/styles/linen.css\" type=\"text/css\" />\n\
|
134
|
+
\t<link rel=\"stylesheet\" href=\"https://devimages.apple.com.edgekey.net/login/styles/linen.css\" type=\"text/css\" />\n\
|
135
|
+
\t<script>\n\
|
136
|
+
\tEvent.onDOMReady(function() {\n\
|
137
|
+
\t\t// password expired page\n\
|
138
|
+
\t\tif ($$('span.dsheading').length > 0) {\n\
|
139
|
+
\t\t\t$$('#ds_container .dslabel label').each(function(el) { el.innerHTML += ':'; });\n\
|
140
|
+
\t\t\tif ($$('span.dserror').length > 0) {\n\
|
141
|
+
\t\t\t\t$$('span.dserror').each(function(el) {\n\
|
142
|
+
\t\t\t\t\tel.innerHTML = el.innerHTML.gsub('AppleID', 'Apple ID');\n\
|
143
|
+
\t\t\t\t});\n\
|
144
|
+
\t\t\t\t$$('img').each(function(img) {\n\
|
145
|
+
\t\t\t\t\timg.hide();\n\
|
146
|
+
\t\t\t\t});\n\
|
147
|
+
\t\t\t}\n\
|
148
|
+
\t\t\t$('content').show();\n\
|
149
|
+
\t\t\tif($$('span.dsheading')[0].innerHTML == \"Sign In Successful\") {\n\
|
150
|
+
\t\t\t\t// update secret info page\n\
|
151
|
+
\t\t\t\t$$('body.login')[0].addClassName('update-info');\n\
|
152
|
+
\t\t\t\t$$('input').each(function(el) {\n\
|
153
|
+
\t\t\t\t\tel.observe('keyup', function(e) {\n\
|
154
|
+
\t\t\t\t\t\tif(e.keyCode == Event.KEY_RETURN) {\n\
|
155
|
+
\t\t\t\t\t\t\tdocument.harvestForm.submit();\n\
|
156
|
+
\t\t\t\t\t\t\te.stop();\n\
|
157
|
+
\t\t\t\t\t\t}\n\
|
158
|
+
\t\t\t\t\t});\n\
|
159
|
+
\t\t\t\t});\n\
|
160
|
+
\t\t\t} else {\n\
|
161
|
+
\t\t\t\t// regular password expired pages\n\
|
162
|
+
\t\t\t\t$$('body.login')[0].addClassName('password-expired');\n\
|
163
|
+
\t\t\t\t$$('input').each(function(el) {\n\
|
164
|
+
\t\t\t\t\tel.observe('keyup', function(e) {\n\
|
165
|
+
\t\t\t\t\t\tif(e.keyCode == Event.KEY_RETURN) {\n\
|
166
|
+
\t\t\t\t\t\t\tdocument.appleConnectExpiredPasswordForm.submit();\n\
|
167
|
+
\t\t\t\t\t\t\te.stop();\n\
|
168
|
+
\t\t\t\t\t\t}\n\
|
169
|
+
\t\t\t\t\t});\n\
|
170
|
+
\t\t\t\t});\n\
|
171
|
+
\t\t\t}\n\
|
172
|
+
\t\t}\n\
|
173
|
+
\t\t// wrong password page\n\
|
174
|
+
\t\telse if ($$('span.dserror').length > 0) {\n\
|
175
|
+
\t\t\t$$('body.login')[0].addClassName('password-wrong');\n\
|
176
|
+
\t\t\t$$('#ds_container .dslabel').each(function(el) { el.innerHTML += ':'; });\n\
|
177
|
+
\t\t\t$('content').show();\n\
|
178
|
+
\t\t\tdocument.appleConnectForm.theAccountPW.focus();\n\
|
179
|
+
\t\t}\n\
|
180
|
+
\t\t// basic login page\n\
|
181
|
+
\t\telse {\n\
|
182
|
+
\t\t\t$$('#ds_container .dslabel').each(function(el) { el.innerHTML += ':'; });\n\
|
183
|
+
\t\t\t$$('#ds_container tr')[1].hide();\n\
|
184
|
+
\t\t\t$('content').show();\n\
|
185
|
+
\t\t}\n\
|
186
|
+
\t});\n\
|
187
|
+
\t</script>\n\
|
188
|
+
</head>\n\
|
189
|
+
<body class=\"login\" onload=\"dsfocus()\">\n\
|
190
|
+
\t<div class=\"content-wrapper\">\n\n\
|
191
|
+
\t\t<div id=\"globalheader\" data-hires=\"true\">\n\
|
192
|
+
\t\t\t<h1><a href=\"https://developer.apple.com/\">Apple Developer</a></h1>\n\
|
193
|
+
\t\t</div>\n\n\
|
194
|
+
\t\t<div id=\"content\" class=\"content\" style=\"display:none;\">\n\n\
|
195
|
+
\t\t\t<header class=\"hero\">\n\
|
196
|
+
\t\t\t\t<hgroup>\n\
|
197
|
+
\t\t\t\t\t<h1>Sign in with your Apple ID</h1>\n\
|
198
|
+
\t\t\t\t\t<p class=\"intro\">Use the Apple ID you used to register or register now.</p>\n\
|
199
|
+
\t\t\t\t</hgroup>\n\
|
200
|
+
\t\t\t</header>\n\n\
|
201
|
+
\t\t\t\t\n\
|
202
|
+
\t\n\
|
203
|
+
\t\n\
|
204
|
+
\t\t\n\
|
205
|
+
\t\t\t<script>\n\
|
206
|
+
\tfunction dsfocus(){ document.appleConnectForm.theAccountName.focus(); }\n\
|
207
|
+
</script>\n\n\n\
|
208
|
+
\t\n\
|
209
|
+
\t\t<div id=\"ds_container\">\n\
|
210
|
+
\t\n\
|
211
|
+
\t\n\n\n\n\n\
|
212
|
+
\t\n\
|
213
|
+
\t\t\n\
|
214
|
+
\t\t\t<form method=\"post\" name=\"appleConnectForm\" action=\"/cgi-bin/WebObjects/DSAuthWeb.woa/733/wo/IQAxF6JbTkvtCLOxMCDmig/0.1.3.1.1.2.1.1.3.1.1\">\n\n\
|
215
|
+
\t\t\t\t\n\
|
216
|
+
\t\t\t\t\n\
|
217
|
+
\t\t\t\t\n\
|
218
|
+
\t\t\t\t\n\
|
219
|
+
\t\t\t\t\n\
|
220
|
+
\t\t\t\t\n\
|
221
|
+
\t\t\t\t\n\
|
222
|
+
\t\t\t\t\n\
|
223
|
+
\t\t\t\t\n\
|
224
|
+
\t\t\t\t\n\
|
225
|
+
\t\t\t\t\n\
|
226
|
+
\t\t\t\t\t<table cellpadding=0 cellspacing=0 border=0 width=273>\n\
|
227
|
+
\t\t\t\t\t\t<tr valign=top>\n\
|
228
|
+
\t\t\t\t\t\t\t<td align=left><font size=2><font face=\"Geneva, Verdana, Arial, Helvetica, sans-serif\" size=1 class=\"G10\" />\n\
|
229
|
+
\t\t\t\t\t\t\t\t<label for=\"accountname\"><span class=\"dslabel\">Apple ID</span></label>\n\
|
230
|
+
\t\t\t\t\t\t\t\t<font color=\"#ff1102\"></font></font /><br>\n\
|
231
|
+
\t\t\t\t\t\t\t\t<font size='2'><input size=\"30\" autocapitalize=\"off\" autocorrect=\"off\" maxlength=\"128\" id=\"accountname\" type=\"text\" name=\"theAccountName\" /></font></font>\n\
|
232
|
+
\t\t\t\t\t\t\t\t\n\
|
233
|
+
\t\t\t\t\t\t\t</td>\n\
|
234
|
+
\t\t\t\t\t\t</tr>\n\
|
235
|
+
\t\t\t\t\t\t\n\
|
236
|
+
\t\t\t\t\t\t<tr><td><img alt=\"\" width=\"273\" height=\"5\" src=\"/AppleConnect/US-EN/spacer.gif\" /></td></tr>\n\
|
237
|
+
\t\t\t\t\t\t<tr><td><img alt=\"\" width=\"273\" height=\"5\" src=\"/AppleConnect/US-EN/spacer.gif\" /></td></tr>\n\
|
238
|
+
\t\t\t\t\t\t<tr>\n\
|
239
|
+
\t\t\t\t\t\t\t<td align='left'>\n\
|
240
|
+
\t\t\t\t\t\t\t\t<font face=\"Geneva, Verdana, Arial, Helvetica, sans-serif\" size=1 class=\"G10\" />\n\
|
241
|
+
\t\t\t\t\t\t\t\t\t<label for=\"accountpassword\"><span class=\"dslabel\">Password</span></label>\n\
|
242
|
+
\t\t\t\t\t\t\t\t</font />\n\
|
243
|
+
\t\t\t\t\t\t\t\t<br>\n\
|
244
|
+
\t\t\t\t\t\t\t\t<input size=\"30\" autocapitalize=\"off\" oncut=\"return false ;\" oncopy=\"return false ;\" autocorrect=\"off\" maxlength=\"32\" id=\"accountpassword\" type=\"password\" name=\"theAccountPW\" /><input border=\"0\" width=\"0\" height=\"0\" type=\"image\" name=\"1.Continue\" src=\"/AppleConnect/US-EN/spacer.gif\" />\n\
|
245
|
+
\t\t\t\t\t\t\t</td>\n\
|
246
|
+
\t\t\t\t\t\t</tr>\n\
|
247
|
+
\t\t\t\t\t\t\n\
|
248
|
+
\t\t\t\t\t\t\n\
|
249
|
+
\t\t\t\t\t\t\n\
|
250
|
+
\t\t\t\t\t\t<tr><td><img alt=\"\" width=\"273\" height=\"5\" src=\"/AppleConnect/US-EN/spacer.gif\" /></td></tr>\n\
|
251
|
+
\t\t\t\t\t\t<tr><td><img alt=\"\" width=\"273\" height=\"5\" src=\"/AppleConnect/US-EN/spacer.gif\" /></td></tr>\n\
|
252
|
+
\t\t\t\t\t\t\n\
|
253
|
+
\t\t\t\t\t\t<tr>\n\
|
254
|
+
\t\t\t\t\t\t\t<td>\n\
|
255
|
+
\t\t\t\t\t\t\t\t<table cellspacing='0' border='0' width='273' cellpadding='0'>\n\
|
256
|
+
\t\t\t\t\t\t\t\t\t<tr align='left'>\n\
|
257
|
+
\t\t\t\t\t\t\t\t\t\t\n\
|
258
|
+
\t\t\t\t\t\t\t\t\t\t\t<td align='left' width='170'>\n\
|
259
|
+
\t\t\t\t\t\t\t\t\t\t\t\t\n\n\
|
260
|
+
\t\t\t\t\t\t\t\t\t\t\t\t\n\
|
261
|
+
\t\t\t\t\t\t\t\t\t\t\t\t\t<font size='1'>\n\
|
262
|
+
\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"dstext\">\n\
|
263
|
+
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\n\
|
264
|
+
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\
|
265
|
+
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\
|
266
|
+
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\
|
267
|
+
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!-- Show Forgot Password Button as button -->\n\
|
268
|
+
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input border=\"0\" alt=\"Did you forget your password?\" type=\"image\" name=\"1.Forgot\" src=\"/AppleConnect/US-EN/adc09_forgot_password.png\" />\n\
|
269
|
+
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\
|
270
|
+
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\
|
271
|
+
\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\
|
272
|
+
\t\t\t\t\t\t\t\t\t\t\t\t\t</font>\n\
|
273
|
+
\t\t\t\t\t\t\t\t\t\t\t\t\n\
|
274
|
+
\t\t\t\t\t\t\t\t\t\t\t</td>\n\
|
275
|
+
\t\t\t\t\t\t\t\t\t\t\t<td width='15'><img alt=\"\" width=\"15\" height=\"5\" src=\"/AppleConnect/US-EN/spacer.gif\" /></td>\n\
|
276
|
+
\t\t\t\t\t\t\t\t\t\t\n\
|
277
|
+
\t\t\t\t\t\t\t\t\t\t\n\
|
278
|
+
\t\t\t\t\t\t\t\t\t\t\n\
|
279
|
+
\t\t\t\t\t\t\t\t\t\t\t<td align='left' width='88'><input border=\"0\" alt=\"Sign In\" type=\"image\" name=\"1.Continue\" src=\"/AppleConnect/US-EN/adc09_signin.png\" /></td>\n\
|
280
|
+
\t\t\t\t\t\t\t\t\t\t\n\
|
281
|
+
\t\t\t\t\t\t\t\t\t\t\n\
|
282
|
+
\t\t\t\t\t\t\t\t\t</tr>\n\
|
283
|
+
\t\t\t\t\t\t\t\t</table>\n\
|
284
|
+
\t\t\t\t\t\t\t</td>\n\
|
285
|
+
\t\t\t\t\t\t</tr>\n\
|
286
|
+
\t\t\t\t\t</table>\n\
|
287
|
+
\t\t\t\t\t<input type=\"hidden\" name=\"theAuxValue\" />\n\
|
288
|
+
\t\t\t\t\n\
|
289
|
+
\t\t\t<input type=\"hidden\" name=\"wosid\" value=\"IQAxF6JbTkvtCLOxMCDmig\" /></form>\n\
|
290
|
+
\t\t\n\n\
|
291
|
+
\t\t\n\
|
292
|
+
\t\t\n\
|
293
|
+
\t\t\n\
|
294
|
+
\t\t\n\
|
295
|
+
\t\t\t\n\
|
296
|
+
</div>\n\n\
|
297
|
+
\t\n\
|
298
|
+
\t\n\
|
299
|
+
\t\n\
|
300
|
+
\t\n\
|
301
|
+
\t\n\n\n\n\n\
|
302
|
+
\t\t\n\
|
303
|
+
\t\t\n\
|
304
|
+
\t\n\
|
305
|
+
\t\t\t\n\n\
|
306
|
+
\t\t\t<a class=\"button large blue password-update\" onclick=\"document.appleConnectExpiredPasswordForm.submit(); return false;\"><span>Update</span></a>\n\
|
307
|
+
\t\t\t<a class=\"button large register-button\" href=\"https://developer.apple.com/programs/register/\"><span>Register</span></a>\n\
|
308
|
+
\t\t\t<a class=\"button large blue signin-button\" onclick=\"document.appleConnectForm.submit(); return false;\"><span>Sign In</span></a>\n\
|
309
|
+
\t\t\t<div class=\"divider\"></div>\n\
|
310
|
+
\t\t\t<a class=\"forgot-button\" href=\"https://iforgot.apple.com/\">Forgot ID or Password?</a>\n\
|
311
|
+
\t\t\t\t\t\n\
|
312
|
+
\t\t</div><!-- /content -->\n\n\
|
313
|
+
\t\t<div class=\"content-spacer\"></div>\n\n\
|
314
|
+
\t\t<div id=\"globalfooter\">\n\
|
315
|
+
\t\t\t<div class=\"gf-sosumi\">\n\
|
316
|
+
\t\t\t\t<p>Copyright \xA9 2013 Apple Inc. All rights reserved.</p>\n\
|
317
|
+
\t\t\t\t<ul class=\"piped\">\n\
|
318
|
+
\t\t\t\t\t<li><a href=\"http://www.apple.com/legal/terms/site.html\" class=\"first\">Terms of Use</a></li>\n\
|
319
|
+
\t\t\t\t\t<li><a href=\"http://www.apple.com/privacy/\">Privacy Policy</a></li>\n\
|
320
|
+
\t\t\t\t</ul>\n\
|
321
|
+
\t\t\t</div>\n\
|
322
|
+
\t\t</div><!--/globalfooter-->\n\
|
323
|
+
\t</div>\n\
|
324
|
+
</body>\n\
|
325
|
+
</html>"
|
326
|
+
http_version:
|
327
|
+
recorded_at: Thu, 27 Jun 2013 07:35:34 GMT
|
328
|
+
- request:
|
329
|
+
method: post
|
330
|
+
uri: https://daw.apple.com/cgi-bin/WebObjects/DSAuthWeb.woa/733/wo/IQAxF6JbTkvtCLOxMCDmig/0.1.3.1.1.2.1.1.3.1.1
|
331
|
+
body:
|
332
|
+
string: theAccountName=test@email.com&theAccountPW=password&theAuxValue=&wosid=IQAxF6JbTkvtCLOxMCDmig
|
333
|
+
headers:
|
334
|
+
Referer:
|
335
|
+
- !ruby/object:URI::HTTPS
|
336
|
+
fragment:
|
337
|
+
host: daw.apple.com
|
338
|
+
opaque:
|
339
|
+
password:
|
340
|
+
path: /cgi-bin/WebObjects/DSAuthWeb.woa/wa/login
|
341
|
+
port: 443
|
342
|
+
query: appIdKey=d4f7d769c2abecc664d0dadfed6a67f943442b5e9c87524d4587a95773750cea&path=%2F%2Faccount%2FselectTeam.action
|
343
|
+
registry:
|
344
|
+
scheme: https
|
345
|
+
user:
|
346
|
+
Accept:
|
347
|
+
- "*/*"
|
348
|
+
Accept-Language:
|
349
|
+
- en-us,en;q=0.5
|
350
|
+
User-Agent:
|
351
|
+
- Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/534.51.22 (KHTML, like Gecko) Version/5.1.1 Safari/534.51.22
|
352
|
+
Accept-Charset:
|
353
|
+
- ISO-8859-1,utf-8;q=0.7,*;q=0.7
|
354
|
+
Content-Type:
|
355
|
+
- application/x-www-form-urlencoded
|
356
|
+
Host:
|
357
|
+
- daw.apple.com
|
358
|
+
Content-Length:
|
359
|
+
- "108"
|
360
|
+
Accept-Encoding:
|
361
|
+
- gzip,deflate,identity
|
362
|
+
Keep-Alive:
|
363
|
+
- 300
|
364
|
+
Connection:
|
365
|
+
- keep-alive
|
366
|
+
response:
|
367
|
+
status:
|
368
|
+
code: 200
|
369
|
+
message: Apple
|
370
|
+
headers:
|
371
|
+
Set-Cookie:
|
372
|
+
- DefaultAppleID=thisCookieIsToBeRemovedAtTheNextResponse; version="1"; max-age=0; expires=Thu, 01-Jan-1970 00:00:00 GMT; path=/; domain=.apple.com
|
373
|
+
- ds01=thisCookieIsToBeRemovedAtTheNextResponse; version="1"; max-age=0; expires=Thu, 01-Jan-1970 00:00:00 GMT; path=/; domain=.apple.com
|
374
|
+
- ds01_a=056e619bd5b2b91867ba64ff14360013fb6cfdfbf22ba93d292a81c1ac3fcc492e2cfdbf14081b75fca5d3b933f25c84c2c72c775613bae8f6ea0cf10f2fcca1c6026560e1701760d7c4a9200b9d41dfc1ceadab02fb3635412c59648311b586GZVX; version="1"; expires=Fri, 27-Jun-2014 07:35:24 GMT; path=/; domain=.apple.com
|
375
|
+
- ds01_p_c_1001=thisCookieIsToBeRemovedAtTheNextResponse; version="1"; max-age=0; expires=Thu, 01-Jan-1970 00:00:00 GMT; path=/; domain=.apple.com
|
376
|
+
- myacinfo=DAWTKNV2b35735344c00759cd70102a9f415865b4413adc3d254a65dafc4359bb95ae591e940a6963e1ae23545999f9330411956eafa6f3f949ebd2a709baccf283376f2f1d514b67b8324c98641225c57bd69f7f673308cc5b19020c95ea42a4722bc0d9dc3c6fd53ed5d2542fe3c5803ba24ed6967343f50ff38148c0a12bbbaf19056e0d0a74e143536ddbeaafd3b19bdd36ca801f0c41e40050b6663bb28846e2bf2d6b41636d23cc6ab264925de3f8a4e798c29645b9b799e2fd7cb262f922b599da048d2d4162913d6361a996a650bc1ba3b90ff635bd57238c7bfcd14db5c8e7eacf37794298c9a224dc92734d0dbbdfed5690233abe3761bfc7c24e103bc2d534e5d90ce21d2fbd4785497765d7dd1ce2f8b55d32289689ebb9ade0ce10a135bMVRYV2; version="1"; path=/; domain=.apple.com; secure; HttpOnly
|
377
|
+
- myacinfoName=BA710667A884C9ECD61188E9CE70F5F1C5BE108F044A95112F92FC238E8837D8; version="1"; expires=Fri, 31-Dec-2010 20:00:00 GMT; path=/; domain=.apple.com
|
378
|
+
Cache-Control:
|
379
|
+
- max-age=0
|
380
|
+
- must-revalidate
|
381
|
+
- no-cache
|
382
|
+
- no-store
|
383
|
+
- private
|
384
|
+
Server:
|
385
|
+
- Apache
|
386
|
+
Content-Type:
|
387
|
+
- text/html; charset=iso-8859-1
|
388
|
+
Content-Length:
|
389
|
+
- "289"
|
390
|
+
Expires:
|
391
|
+
- Wed, 05-Jun-2013 18:38:39 GMT
|
392
|
+
Pragma:
|
393
|
+
- no-cache
|
394
|
+
Date:
|
395
|
+
- Thu, 27 Jun 2013 07:35:24 GMT
|
396
|
+
Nncoection:
|
397
|
+
- close
|
398
|
+
body:
|
399
|
+
string: |
|
400
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
401
|
+
<HTML>
|
402
|
+
<HEAD>
|
403
|
+
<META NAME="generator" CONTENT="WebObjects 5">
|
404
|
+
<TITLE>Apple</TITLE>
|
405
|
+
<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=https://developer.apple.com/account/selectTeam.action" />
|
406
|
+
</HEAD>
|
407
|
+
<BODY BGCOLOR=#FFFFFF>
|
408
|
+
</BODY>
|
409
|
+
</HTML>
|
410
|
+
|
411
|
+
http_version:
|
412
|
+
recorded_at: Thu, 27 Jun 2013 07:35:36 GMT
|
413
|
+
- request:
|
414
|
+
method: get
|
415
|
+
uri: https://developer.apple.com/account/selectTeam.action
|
416
|
+
body:
|
417
|
+
string: ""
|
418
|
+
headers:
|
419
|
+
Accept:
|
420
|
+
- "*/*"
|
421
|
+
Accept-Language:
|
422
|
+
- en-us,en;q=0.5
|
423
|
+
User-Agent:
|
424
|
+
- Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/534.51.22 (KHTML, like Gecko) Version/5.1.1 Safari/534.51.22
|
425
|
+
If-Modified-Since:
|
426
|
+
- Thu, 27 Jun 2013 07:35:22 GMT
|
427
|
+
Cookie:
|
428
|
+
- NSC_MCWT_efwfmpqfs_443_BqbdifKbwb=ffffffff12f61da945525d5f4f58455e445a4a4232aa; ds01_a=056e619bd5b2b91867ba64ff14360013fb6cfdfbf22ba93d292a81c1ac3fcc492e2cfdbf14081b75fca5d3b933f25c84c2c72c775613bae8f6ea0cf10f2fcca1c6026560e1701760d7c4a9200b9d41dfc1ceadab02fb3635412c59648311b586GZVX; myacinfo=DAWTKNV2b35735344c00759cd70102a9f415865b4413adc3d254a65dafc4359bb95ae591e940a6963e1ae23545999f9330411956eafa6f3f949ebd2a709baccf283376f2f1d514b67b8324c98641225c57bd69f7f673308cc5b19020c95ea42a4722bc0d9dc3c6fd53ed5d2542fe3c5803ba24ed6967343f50ff38148c0a12bbbaf19056e0d0a74e143536ddbeaafd3b19bdd36ca801f0c41e40050b6663bb28846e2bf2d6b41636d23cc6ab264925de3f8a4e798c29645b9b799e2fd7cb262f922b599da048d2d4162913d6361a996a650bc1ba3b90ff635bd57238c7bfcd14db5c8e7eacf37794298c9a224dc92734d0dbbdfed5690233abe3761bfc7c24e103bc2d534e5d90ce21d2fbd4785497765d7dd1ce2f8b55d32289689ebb9ade0ce10a135bMVRYV2
|
429
|
+
Accept-Charset:
|
430
|
+
- ISO-8859-1,utf-8;q=0.7,*;q=0.7
|
431
|
+
Host:
|
432
|
+
- developer.apple.com
|
433
|
+
Accept-Encoding:
|
434
|
+
- gzip,deflate,identity
|
435
|
+
Keep-Alive:
|
436
|
+
- 300
|
437
|
+
Connection:
|
438
|
+
- keep-alive
|
439
|
+
response:
|
440
|
+
status:
|
441
|
+
code: 200
|
442
|
+
message: OK
|
443
|
+
headers:
|
444
|
+
Transfer-Encoding:
|
445
|
+
- chunked
|
446
|
+
Set-Cookie:
|
447
|
+
- JSESSIONID=FED2AF4286021A3A61DE953F12BCC84A.worker1; Path=/
|
448
|
+
Cache-Control:
|
449
|
+
- no-cache
|
450
|
+
Server:
|
451
|
+
- Apache
|
452
|
+
Content-Type:
|
453
|
+
- text/html;charset=ISO-8859-1
|
454
|
+
Ms-Author-Via:
|
455
|
+
- DAV
|
456
|
+
Expires:
|
457
|
+
- Mon, 26 Jul 1997 05:00:00 GMT
|
458
|
+
Pragma:
|
459
|
+
- no-cache
|
460
|
+
X-Frame-Options:
|
461
|
+
- SAMEORIGIN
|
462
|
+
- SAMEORIGIN
|
463
|
+
Keep-Alive:
|
464
|
+
- timeout=15, max=421
|
465
|
+
Date:
|
466
|
+
- Thu, 27 Jun 2013 07:35:25 GMT
|
467
|
+
Connection:
|
468
|
+
- Keep-Alive
|
469
|
+
body:
|
470
|
+
string: |-
|
471
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
472
|
+
|
473
|
+
|
474
|
+
<html>
|
475
|
+
<head>
|
476
|
+
<title>Select Team - Apple Developer</title>
|
477
|
+
|
478
|
+
|
479
|
+
|
480
|
+
|
481
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
482
|
+
<meta http-equiv="pics-label" content='(pics-1.1 "http://www.icra.org/ratingsv02.html" l gen true for "http://www.apple.com" r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true for "http://www.apple.com" r (n 0 s 0 v 0 l 0))'>
|
483
|
+
<meta name="Author" content="Apple Inc.">
|
484
|
+
<meta name="viewport" content="width=1024">
|
485
|
+
<link rel="shortcut icon" href="https://devimages.apple.com.edgekey.net/favicon.ico" />
|
486
|
+
<link rel="icon" href="https://devimages.apple.com.edgekey.net/favicon.ico" />
|
487
|
+
|
488
|
+
<link rel="stylesheet" type="text/css" media="screen" href="https://devimages.apple.com.edgekey.net/assets/core/styles/base.css" charset="utf-8" />
|
489
|
+
<link rel="stylesheet" type="text/css" media="screen" href="https://devimages.apple.com.edgekey.net/assets/core/styles/adc.css" charset="utf-8" />
|
490
|
+
|
491
|
+
<link rel="stylesheet" type="text/css" media="screen" href="https://devimages.apple.com.edgekey.net/assets/styles/jqueryui/smoothness-custom-1.8.17/jquery-ui-1.8.17.css" charset="utf-8" />
|
492
|
+
<link rel="stylesheet" type="text/css" media="screen" href="https://devimages.apple.com.edgekey.net/assets/scripts/lib/jqgrid/css/ui.jqgrid.css" charset="utf-8" />
|
493
|
+
<link rel="stylesheet" type="text/css" media="screen" href="https://devimages.apple.com.edgekey.net/assets/styles/grid.css" charset="utf-8" />
|
494
|
+
|
495
|
+
<link rel="stylesheet" type="text/css" media="screen" href="https://devimages.apple.com.edgekey.net/assets/styles/portal.css" charset="utf-8" />
|
496
|
+
<link rel="stylesheet" type="text/css" media="screen" href="https://developer.apple.com/account/styles/developer_portal.css" charset="utf-8" />
|
497
|
+
|
498
|
+
<script type="text/javascript" src="https://developer.apple.com/assets/scripts/lib/jquery/jquery-1.7.1.min.js" charset="utf-8" ></script>
|
499
|
+
<script type="text/javascript" src="https://developer.apple.com/assets/scripts/lib/jquery/jquery-ui-custom-1.8.17.min.js" charset="utf-8" ></script>
|
500
|
+
<script type="text/javascript" src="https://developer.apple.com/assets/scripts/lib/jqgrid/js/i18n/grid.locale-en.js" charset="utf-8" ></script>
|
501
|
+
<script type="text/javascript" src="https://developer.apple.com/assets/scripts/lib/jqgrid/js/jquery.jqGrid.src.js" charset="utf-8" ></script>
|
502
|
+
<script type="text/javascript" src="https://developer.apple.com/assets/scripts/search_decorator_jquery.js" charset="utf-8" ></script>
|
503
|
+
<script type="text/javascript" src="https://developer.apple.com/assets/scripts/ac_retina.js" charset="utf-8" ></script>
|
504
|
+
|
505
|
+
<script type="text/javascript" src="https://developer.apple.com/account/scripts/account-min.js" charset="utf-8" ></script>
|
506
|
+
|
507
|
+
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
508
|
+
|
509
|
+
|
510
|
+
</head>
|
511
|
+
<body id="select-team" class="developer-portal class="selectProgram"" >
|
512
|
+
|
513
|
+
|
514
|
+
|
515
|
+
|
516
|
+
|
517
|
+
|
518
|
+
<div id="globalheader" data-hires="true">
|
519
|
+
<h1><a href="https://developer.apple.com">Apple Developer</a></h1>
|
520
|
+
<ul id="gh-nav">
|
521
|
+
<li id="gh-nav-technologies"><a href="https://developer.apple.com/technologies/">Technologies</a></li>
|
522
|
+
<li id="gh-nav-resources"><a href="https://developer.apple.com/resources/">Resources</a></li>
|
523
|
+
<li id="gh-nav-programs"><a href="https://developer.apple.com/programs/">Programs</a></li>
|
524
|
+
<li id="gh-nav-support"><a href="https://developer.apple.com/support/">Support</a></li>
|
525
|
+
<li id="gh-nav-membercenter"><a href="https://developer.apple.com/membercenter/">Member Center</a></li>
|
526
|
+
</ul>
|
527
|
+
|
528
|
+
<div id="gh-search">
|
529
|
+
<form action="https://developer.apple.com/search/index.php" method="get" accept-charset="utf-8">
|
530
|
+
<div>
|
531
|
+
<label for="gh-adcsearch">
|
532
|
+
<span class="prettyplaceholder">Search Developer</span>
|
533
|
+
<input type="search" name="q" id="gh-adcsearch" class="adcsearch prettysearch" results="0" placeholder="Search Developer" autosave="">
|
534
|
+
</label>
|
535
|
+
</div>
|
536
|
+
</form>
|
537
|
+
</div>
|
538
|
+
</div>
|
539
|
+
|
540
|
+
<div class="loadingMessage" data-hires="true" style=" width:32px; height:32px; display: none;">
|
541
|
+
<img src="https://devimages.apple.com.edgekey.net/assets/developerportal/images/spinner.gif" /><div>Loading...</div>
|
542
|
+
</div>
|
543
|
+
|
544
|
+
<div class="errorGenericMessage" style="display: none;">
|
545
|
+
Please refresh and try again.
|
546
|
+
</div>
|
547
|
+
|
548
|
+
<div id="main">
|
549
|
+
<div id="content" class="content" data-hires="true">
|
550
|
+
<div class="topbar">
|
551
|
+
<h1>Certificates, Identifiers & Profiles</h1>
|
552
|
+
<div class="topbar-select-container">
|
553
|
+
<a class="topbar-select portal-select" id="topbar-select">
|
554
|
+
<span class="section-title">
|
555
|
+
|
556
|
+
David Lawson
|
557
|
+
|
558
|
+
|
559
|
+
</span>
|
560
|
+
</a>
|
561
|
+
|
562
|
+
<div class="tooltip top-pointer" id="topbar-dropdown-tooltip" style="display:none">
|
563
|
+
<div class="top edge"></div>
|
564
|
+
<div class="tooltip-content">
|
565
|
+
<div class="content-wrapper">
|
566
|
+
<ul class="topbar-dropdown-options">
|
567
|
+
|
568
|
+
<li class="profile"><a href="https://developer.apple.com/membercenter/index.action#accountSummary" class="first-option">View Account</a></li>
|
569
|
+
|
570
|
+
<li class="sign-out"><a href="/account/logout.action;jsessionid=FED2AF4286021A3A61DE953F12BCC84A.worker1" class="last-option">Sign Out</a></li>
|
571
|
+
|
572
|
+
|
573
|
+
</ul>
|
574
|
+
</div>
|
575
|
+
</div>
|
576
|
+
</div>
|
577
|
+
</div>
|
578
|
+
</div>
|
579
|
+
|
580
|
+
|
581
|
+
|
582
|
+
|
583
|
+
|
584
|
+
|
585
|
+
|
586
|
+
|
587
|
+
|
588
|
+
|
589
|
+
|
590
|
+
|
591
|
+
<div class="sidebar" style="display:none;" data-hideSideNav="true">
|
592
|
+
<div class="top-shadow"></div>
|
593
|
+
|
594
|
+
<a class="sidebar-select portal-select" id="sidebar-select"><div class="section-icon mac"></div><div class="section-title"></div><div class="dropdown-arrow"></div></a>
|
595
|
+
<div class="select-dropdown rounded" style="display: none;">
|
596
|
+
<ul class="dropdown-options">
|
597
|
+
<li class="overview-option"><a href="/account/overview.action;jsessionid=FED2AF4286021A3A61DE953F12BCC84A.worker1" class="first-option"><span>Overview</span><div class="checkmark"></div></a></li>
|
598
|
+
|
599
|
+
|
600
|
+
|
601
|
+
</ul>
|
602
|
+
</div>
|
603
|
+
|
604
|
+
<div class="horizontal-divider"></div>
|
605
|
+
|
606
|
+
|
607
|
+
|
608
|
+
|
609
|
+
|
610
|
+
|
611
|
+
</div>
|
612
|
+
|
613
|
+
<div class="innercontent">
|
614
|
+
|
615
|
+
<div class="teams">
|
616
|
+
<h2>Select Team</h2>
|
617
|
+
|
618
|
+
<div class="team-selection">
|
619
|
+
<form id="saveTeamSelection" name="saveTeamSelection" action="/account/saveTeamSelection.action;jsessionid=FED2AF4286021A3A61DE953F12BCC84A.worker1" method="post">
|
620
|
+
<div class="input">
|
621
|
+
<p class="lead">You're a member of multiple development teams. Select a team to continue.</p>
|
622
|
+
|
623
|
+
<p class="team-value">
|
624
|
+
<input type="radio" class="radio" name="memberDisplayId" id="teams1" value="XYZ1">
|
625
|
+
<label for="teams1" class="label-primary">
|
626
|
+
Team 1
|
627
|
+
</label>
|
628
|
+
<label for="teams1" class="label-secondary"></label>
|
629
|
+
|
630
|
+
</p>
|
631
|
+
|
632
|
+
<p class="team-value">
|
633
|
+
<input type="radio" class="radio" name="memberDisplayId" id="teams2" value="XYZ2">
|
634
|
+
<label for="teams2" class="label-primary">
|
635
|
+
Team 2
|
636
|
+
</label>
|
637
|
+
<label for="teams2" class="label-secondary">iOS Developer Program</label>
|
638
|
+
|
639
|
+
</p>
|
640
|
+
|
641
|
+
</div>
|
642
|
+
<div class="sidebarDivider">
|
643
|
+
<div class="buttoncontainer">
|
644
|
+
<a href="/account/overview.action;jsessionid=FED2AF4286021A3A61DE953F12BCC84A.worker1" class="button large"><span>Cancel</span></a>
|
645
|
+
<input type="submit" id="saveTeamSelection_saveTeamSelection_save" name="action:saveTeamSelection!save" value="Continue" class="button large blue submit"/>
|
646
|
+
|
647
|
+
</div>
|
648
|
+
</div>
|
649
|
+
</form>
|
650
|
+
|
651
|
+
|
652
|
+
|
653
|
+
|
654
|
+
</div>
|
655
|
+
|
656
|
+
|
657
|
+
</div>
|
658
|
+
|
659
|
+
</div>
|
660
|
+
|
661
|
+
|
662
|
+
|
663
|
+
|
664
|
+
|
665
|
+
|
666
|
+
</div><!-- /content -->
|
667
|
+
</div><!-- /main -->
|
668
|
+
|
669
|
+
<div id="globalfooter">
|
670
|
+
<div class="gf-sosumi">
|
671
|
+
<p>Copyright © 2013 Apple Inc. All rights reserved.</p>
|
672
|
+
<ul class="piped">
|
673
|
+
<li><a href="http://www.apple.com/legal/terms/site.html" class="first">Terms of Use</a></li>
|
674
|
+
<li><a href="http://www.apple.com/privacy/">Privacy Policy</a></li>
|
675
|
+
</ul>
|
676
|
+
</div>
|
677
|
+
</div>
|
678
|
+
</body>
|
679
|
+
</html>
|
680
|
+
http_version:
|
681
|
+
recorded_at: Thu, 27 Jun 2013 07:35:37 GMT
|
682
|
+
recorded_with: VCR 2.5.0
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 1
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 1.0.
|
8
|
+
- 7
|
9
|
+
version: 1.0.7
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- David Lawson
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2013-
|
17
|
+
date: 2013-07-02 00:00:00 +10:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
type: :development
|
44
44
|
version_requirements: *id002
|
45
45
|
- !ruby/object:Gem::Dependency
|
46
|
-
name:
|
46
|
+
name: vcr
|
47
47
|
prerelease: false
|
48
48
|
requirement: &id003 !ruby/object:Gem::Requirement
|
49
49
|
requirements:
|
@@ -52,10 +52,10 @@ dependencies:
|
|
52
52
|
segments:
|
53
53
|
- 0
|
54
54
|
version: "0"
|
55
|
-
type: :
|
55
|
+
type: :development
|
56
56
|
version_requirements: *id003
|
57
57
|
- !ruby/object:Gem::Dependency
|
58
|
-
name:
|
58
|
+
name: webmock
|
59
59
|
prerelease: false
|
60
60
|
requirement: &id004 !ruby/object:Gem::Requirement
|
61
61
|
requirements:
|
@@ -64,12 +64,26 @@ dependencies:
|
|
64
64
|
segments:
|
65
65
|
- 0
|
66
66
|
version: "0"
|
67
|
-
type: :
|
67
|
+
type: :development
|
68
68
|
version_requirements: *id004
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: nokogiri
|
71
71
|
prerelease: false
|
72
72
|
requirement: &id005 !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - "="
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
segments:
|
77
|
+
- 1
|
78
|
+
- 5
|
79
|
+
- 9
|
80
|
+
version: 1.5.9
|
81
|
+
type: :runtime
|
82
|
+
version_requirements: *id005
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: cupertino
|
85
|
+
prerelease: false
|
86
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
73
87
|
requirements:
|
74
88
|
- - ">="
|
75
89
|
- !ruby/object:Gem::Version
|
@@ -77,11 +91,47 @@ dependencies:
|
|
77
91
|
- 0
|
78
92
|
version: "0"
|
79
93
|
type: :runtime
|
80
|
-
version_requirements: *
|
94
|
+
version_requirements: *id006
|
95
|
+
- !ruby/object:Gem::Dependency
|
96
|
+
name: keychain_services
|
97
|
+
prerelease: false
|
98
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - ">="
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
segments:
|
103
|
+
- 0
|
104
|
+
version: "0"
|
105
|
+
type: :runtime
|
106
|
+
version_requirements: *id007
|
107
|
+
- !ruby/object:Gem::Dependency
|
108
|
+
name: spinning_cursor
|
109
|
+
prerelease: false
|
110
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
111
|
+
requirements:
|
112
|
+
- - ">="
|
113
|
+
- !ruby/object:Gem::Version
|
114
|
+
segments:
|
115
|
+
- 0
|
116
|
+
version: "0"
|
117
|
+
type: :runtime
|
118
|
+
version_requirements: *id008
|
119
|
+
- !ruby/object:Gem::Dependency
|
120
|
+
name: rainbow
|
121
|
+
prerelease: false
|
122
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
123
|
+
requirements:
|
124
|
+
- - ">="
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
segments:
|
127
|
+
- 0
|
128
|
+
version: "0"
|
129
|
+
type: :runtime
|
130
|
+
version_requirements: *id009
|
81
131
|
- !ruby/object:Gem::Dependency
|
82
132
|
name: commander
|
83
133
|
prerelease: false
|
84
|
-
requirement: &
|
134
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
85
135
|
requirements:
|
86
136
|
- - ~>
|
87
137
|
- !ruby/object:Gem::Version
|
@@ -91,7 +141,7 @@ dependencies:
|
|
91
141
|
- 2
|
92
142
|
version: 4.1.2
|
93
143
|
type: :runtime
|
94
|
-
version_requirements: *
|
144
|
+
version_requirements: *id010
|
95
145
|
description: Conveniently add a UDID to the iOS Developer Portal, refresh a provisioning profile and download it. Uploading a new provisioning profile to TestFlight is also supported.
|
96
146
|
email:
|
97
147
|
- tech.lawson@gmail.com
|
@@ -103,6 +153,7 @@ extra_rdoc_files: []
|
|
103
153
|
|
104
154
|
files:
|
105
155
|
- .gitignore
|
156
|
+
- .travis.yml
|
106
157
|
- Gemfile
|
107
158
|
- LICENSE.txt
|
108
159
|
- README.md
|
@@ -114,6 +165,9 @@ files:
|
|
114
165
|
- lib/omudid/portal_agent.rb
|
115
166
|
- lib/omudid/testflight_agent.rb
|
116
167
|
- omudid.gemspec
|
168
|
+
- test/.DS_Store
|
169
|
+
- test/test_omudid.rb
|
170
|
+
- test/vcr/teams.yml
|
117
171
|
has_rdoc: true
|
118
172
|
homepage: https://github.com/Papercloud/OneMoreUDID
|
119
173
|
licenses:
|
@@ -144,5 +198,7 @@ rubygems_version: 1.3.6
|
|
144
198
|
signing_key:
|
145
199
|
specification_version: 3
|
146
200
|
summary: Add one UDID to iOS Dev Portal & TestFlight
|
147
|
-
test_files:
|
148
|
-
|
201
|
+
test_files:
|
202
|
+
- test/.DS_Store
|
203
|
+
- test/test_omudid.rb
|
204
|
+
- test/vcr/teams.yml
|