pem 0.2.3 → 0.3.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 +4 -4
- data/README.md +22 -13
- data/bin/pem +14 -11
- data/lib/pem/developer_center.rb +8 -8
- data/lib/pem/update_checker.rb +1 -1
- data/lib/pem/version.rb +1 -1
- metadata +6 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8fc19714bc242012832215934e264482b7975d74
|
4
|
+
data.tar.gz: 400fe9cf403ec11b531ae781398d91452e2e4a5c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6c027708274cd3614282aff3451340fccf8bcea5e2f785b4f0f9e62597d7d0f2ca3e153743672907eec56184259656b471e023c315ea47d3eb188febcb9d6156
|
7
|
+
data.tar.gz: ec63a4e73973e37c7da00d698d3894e576c194a5781da3b7ac77730fce4a39bf62cf5b33ce3aeb84f1c37dc973a75a502c6adf907818e8a0f83487e8d1198412
|
data/README.md
CHANGED
@@ -1,9 +1,16 @@
|
|
1
|
+
<h3 align="center">
|
2
|
+
<a href="https://github.com/KrauseFx/fastlane">
|
3
|
+
<img src="assets/fastlane.png" width="150" />
|
4
|
+
<br />
|
5
|
+
fastlane
|
6
|
+
</a>
|
7
|
+
</h3>
|
1
8
|
<p align="center">
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
9
|
+
<a href="https://github.com/KrauseFx/deliver">deliver</a> •
|
10
|
+
<a href="https://github.com/KrauseFx/snapshot">snapshot</a> •
|
11
|
+
<a href="https://github.com/KrauseFx/frameit">frameit</a> •
|
12
|
+
<b>PEM</b> •
|
13
|
+
<a href="https://github.com/KrauseFx/sigh">sigh</a>
|
7
14
|
</p>
|
8
15
|
-------
|
9
16
|
|
@@ -11,7 +18,7 @@
|
|
11
18
|
<img src="assets/pem.png">
|
12
19
|
</p>
|
13
20
|
|
14
|
-
|
21
|
+
PEM - Maintain your push certificates
|
15
22
|
============
|
16
23
|
|
17
24
|
[](https://twitter.com/KrauseFx)
|
@@ -80,7 +87,7 @@ This does the following:
|
|
80
87
|
|
81
88
|
You can pass parameters like this:
|
82
89
|
|
83
|
-
pem -a
|
90
|
+
pem -a com.krausefx.app -u username
|
84
91
|
|
85
92
|
If you want to generate a development certificate instead:
|
86
93
|
|
@@ -105,12 +112,14 @@ There are 2 actions involved:
|
|
105
112
|
```PEM``` uses the password manager from [```Deliver```](https://github.com/KrauseFx/deliver#can-i-trust-deliver). Take a look the [Deliver README](https://github.com/KrauseFx/deliver#can-i-trust-deliver) for more information.
|
106
113
|
|
107
114
|
# Tips
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
- [
|
112
|
-
- [
|
113
|
-
- [
|
115
|
+
|
116
|
+
## [`fastlane`](http://fastlane.tools) Toolchain
|
117
|
+
|
118
|
+
- [`fastlane`](http://fastlane.tools): Connect all deployment tools into one streamlined workflow
|
119
|
+
- [`deliver`](https://github.com/KrauseFx/deliver): Upload screenshots, metadata and your app to the App Store using a single command
|
120
|
+
- [`snapshot`](https://github.com/KrauseFx/snapshot): Automate taking localized screenshots of your iOS app on every device
|
121
|
+
- [`frameit`](https://github.com/KrauseFx/frameit): Quickly put your screenshots into the right device frames
|
122
|
+
- [`sigh`](https://github.com/KrauseFx/sigh): Because you would rather spend your time building stuff than fighting provisioning
|
114
123
|
|
115
124
|
## Use the 'Provisioning Quicklook plugin'
|
116
125
|
Download and install the [Provisioning Plugin](https://github.com/chockenberry/Provisioning).
|
data/bin/pem
CHANGED
@@ -4,16 +4,17 @@ $:.push File.expand_path("../../lib", __FILE__)
|
|
4
4
|
|
5
5
|
require 'pem'
|
6
6
|
require 'commander/import'
|
7
|
-
require '
|
7
|
+
require 'credentials_manager/password_manager'
|
8
|
+
require 'credentials_manager/appfile_config'
|
8
9
|
|
9
10
|
HighLine.track_eof = false
|
10
11
|
|
11
12
|
|
12
13
|
# Commander
|
13
14
|
program :version, PEM::VERSION
|
14
|
-
program :description, 'CLI for \'PEM\' -
|
15
|
-
program :help, 'Author', 'Felix Krause <krausefx
|
16
|
-
program :help, 'Website', 'http://
|
15
|
+
program :description, 'CLI for \'PEM\' - Automatically generate and renew your push notification profiles'
|
16
|
+
program :help, 'Author', 'Felix Krause <pem@krausefx.com>'
|
17
|
+
program :help, 'Website', 'http://fastlane.tools'
|
17
18
|
program :help, 'GitHub', 'https://github.com/krausefx/PEM'
|
18
19
|
program :help_formatter, :compact
|
19
20
|
|
@@ -46,15 +47,17 @@ end
|
|
46
47
|
default_command :renew
|
47
48
|
|
48
49
|
def username(options)
|
49
|
-
user =
|
50
|
-
user
|
51
|
-
user
|
50
|
+
user = options.username
|
51
|
+
user ||= ENV["PEM_USERNAME"]
|
52
|
+
user ||= CredentialsManager::AppfileConfig.try_fetch_value(:apple_id)
|
52
53
|
|
53
|
-
|
54
|
+
CredentialsManager::PasswordManager.shared_manager(user) if user
|
54
55
|
end
|
55
56
|
|
56
57
|
def app_identifier(options)
|
57
|
-
|
58
|
-
|
59
|
-
|
58
|
+
value = options.identifier
|
59
|
+
value ||= ENV["PEM_APP_IDENTIFIER"]
|
60
|
+
value ||= CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier)
|
61
|
+
value ||= ask("App Identifier (Bundle ID, e.g. com.krausefx.app): ")
|
62
|
+
return value
|
60
63
|
end
|
data/lib/pem/developer_center.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require '
|
1
|
+
require 'credentials_manager/password_manager'
|
2
2
|
require 'open-uri'
|
3
3
|
require 'openssl'
|
4
4
|
|
@@ -52,7 +52,7 @@ module PEM
|
|
52
52
|
|
53
53
|
# Loggs in a user with the given login data on the Dev Center Frontend.
|
54
54
|
# You don't need to pass a username and password. It will
|
55
|
-
# Automatically be fetched using the {
|
55
|
+
# Automatically be fetched using the {CredentialsManager::PasswordManager}.
|
56
56
|
# This method will also automatically be called when triggering other
|
57
57
|
# actions like {#open_app_page}
|
58
58
|
# @param user (String) (optional) The username/email address
|
@@ -65,8 +65,8 @@ module PEM
|
|
65
65
|
begin
|
66
66
|
Helper.log.info "Login into iOS Developer Center"
|
67
67
|
|
68
|
-
user ||=
|
69
|
-
password ||=
|
68
|
+
user ||= CredentialsManager::PasswordManager.shared_manager.username
|
69
|
+
password ||= CredentialsManager::PasswordManager.shared_manager.password
|
70
70
|
|
71
71
|
result = visit DEVELOPER_CENTER_URL
|
72
72
|
raise "Could not open Developer Center" unless result['status'] == 'success'
|
@@ -109,7 +109,7 @@ module PEM
|
|
109
109
|
|
110
110
|
all("#saveTeamSelection_saveTeamSelection").first.click
|
111
111
|
end
|
112
|
-
rescue
|
112
|
+
rescue => ex
|
113
113
|
Helper.log.debug ex
|
114
114
|
raise DeveloperCenterLoginError.new("Error loggin in user #{user}. User is on multiple teams and we were unable to correctly retrieve them.")
|
115
115
|
end
|
@@ -117,7 +117,7 @@ module PEM
|
|
117
117
|
begin
|
118
118
|
|
119
119
|
wait_for_elements('#aprerelease')
|
120
|
-
rescue
|
120
|
+
rescue => ex
|
121
121
|
Helper.log.debug ex
|
122
122
|
raise DeveloperCenterLoginError.new("Error logging in user #{user} with the given password. Make sure you entered them correctly.")
|
123
123
|
end
|
@@ -125,7 +125,7 @@ module PEM
|
|
125
125
|
Helper.log.info "Login successful"
|
126
126
|
|
127
127
|
true
|
128
|
-
rescue
|
128
|
+
rescue => ex
|
129
129
|
error_occured(ex)
|
130
130
|
end
|
131
131
|
end
|
@@ -170,7 +170,7 @@ module PEM
|
|
170
170
|
else
|
171
171
|
raise DeveloperCenterGeneralError.new("Could not find app with identifier '#{app_identifier}' on apps page.")
|
172
172
|
end
|
173
|
-
rescue
|
173
|
+
rescue => ex
|
174
174
|
error_occured(ex)
|
175
175
|
end
|
176
176
|
end
|
data/lib/pem/update_checker.rb
CHANGED
data/lib/pem/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pem
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felix Krause
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-01-
|
11
|
+
date: 2015-01-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -67,7 +67,7 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 4.2.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: credentials_manager
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - '>='
|
@@ -206,8 +206,7 @@ dependencies:
|
|
206
206
|
- - '>='
|
207
207
|
- !ruby/object:Gem::Version
|
208
208
|
version: '0'
|
209
|
-
description:
|
210
|
-
helps you creating and maintaining your iOS push notification certificates.
|
209
|
+
description: Automatically generate and renew your push notification profiles
|
211
210
|
email:
|
212
211
|
- pem@krausefx.com
|
213
212
|
executables:
|
@@ -226,7 +225,7 @@ files:
|
|
226
225
|
- lib/pem/signing_request.rb
|
227
226
|
- lib/pem/update_checker.rb
|
228
227
|
- lib/pem/version.rb
|
229
|
-
homepage: http://
|
228
|
+
homepage: http://fastlane.tools
|
230
229
|
licenses:
|
231
230
|
- MIT
|
232
231
|
metadata: {}
|
@@ -250,7 +249,6 @@ rubyforge_project:
|
|
250
249
|
rubygems_version: 2.2.2
|
251
250
|
signing_key:
|
252
251
|
specification_version: 4
|
253
|
-
summary:
|
254
|
-
all that for you.
|
252
|
+
summary: Automatically generate and renew your push notification profiles
|
255
253
|
test_files: []
|
256
254
|
has_rdoc:
|