sigh 0.3.4 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1f42e282f190c126b2e2698b8294f64ead5b52ba
4
- data.tar.gz: 77fc2e97b0a314183bd0cfdc7ba537f866dfbe01
3
+ metadata.gz: 5018f22e6ad8a3bfa5abdc11ebe01ef8d2239ca3
4
+ data.tar.gz: 9c2429680ceaf4303f1886ddb310b0363bafdb03
5
5
  SHA512:
6
- metadata.gz: b2b4dff8c89d996764cb0a28f105c6a4f48c91a2b78b1307463b21842a4b0b7bb895ed1a9a660573733118d3cfe28e767cfb3d21e8d4e54cd744587a0a2c4322
7
- data.tar.gz: e6fcf9e4b4a32d8e0905ad46a844c150c3387e8b6449d8491ab8314d4d53bce796adb07a40345468f57fbe62ddab052aaafff889ac9ae64050914d8b24d55c4b
6
+ metadata.gz: 5046a1d9413148b4a56cd78cac1136b047a0c2db807c8b829bf034c903e7e43eac3c076e8e509ad566e216f1e52b3a7f829ca55088573114b0a7815446332db7
7
+ data.tar.gz: 9de2b40769911d889e650f22e28806c5d6d364f742d7f330f1132cb0198c5e20e312c6dd5307b88b97494bb79e41e782be2114ac2d0fed82ab9c70ad26f594ff
data/README.md CHANGED
@@ -12,7 +12,8 @@
12
12
  <a href="https://github.com/KrauseFx/PEM">PEM</a> &bull;
13
13
  <b>sigh</b> &bull;
14
14
  <a href="https://github.com/KrauseFx/produce">produce</a> &bull;
15
- <a href="https://github.com/KrauseFx/cert">cert</a>
15
+ <a href="https://github.com/KrauseFx/cert">cert</a> &bull;
16
+ <a href="https://github.com/KrauseFx/codes">codes</a>
16
17
  </p>
17
18
  -------
18
19
 
@@ -29,14 +30,10 @@ sigh
29
30
 
30
31
  ###### Because you would rather spend your time building stuff than fighting provisioning
31
32
 
32
- Tired of manually creating, renewing and downloading your iOS provisioning profiles?
33
-
34
- ```sigh``` handles all that for you. Just run ```sigh``` and it will do the rest.
33
+ `sigh` can create, renew, download and repair provisioning profiles (with one command). It supports App Store, Ad Hoc, Development and Enterprise profiles and supports nice features, like auto-adding all test devices.
35
34
 
36
35
  Get in contact with the developer on Twitter: [@KrauseFx](https://twitter.com/KrauseFx)
37
36
 
38
-
39
-
40
37
  -------
41
38
  <p align="center">
42
39
  <a href="#features">Features</a> &bull;
@@ -66,6 +63,8 @@ Get in contact with the developer on Twitter: [@KrauseFx](https://twitter.com/Kr
66
63
 
67
64
  To automate iOS Push profiles you can use [PEM](https://github.com/KrauseFx/PEM).
68
65
 
66
+ ##### [Like this tool? Be the first to know about updates and new fastlane tools](https://tinyletter.com/krausefx)
67
+
69
68
  ### Why not let Xcode do the work?
70
69
 
71
70
  - ```sigh``` can easily be integrated into your CI-server (e.g. Jenkins)
@@ -149,6 +148,7 @@ In case you prefer environment variables:
149
148
  - `SIGH_APP_IDENTIFIER`
150
149
  - `SIGH_TEAM_ID` (The Team ID, e.g. `Q2CBPK58CA`)
151
150
  - `SIGH_DISABLE_OPEN_ERROR` - in case of error, `sigh` won't open Preview with a screenshot of the error when this variable is set.
151
+ - `SIGH_PROVISIONING_PROFILE_NAME` (set a custom name for the name of the generated file)
152
152
 
153
153
  Choose signing certificate to use:
154
154
 
@@ -156,7 +156,9 @@ Choose signing certificate to use:
156
156
  - `SIGH_CERTIFICATE_ID` (The ID of the certificate)
157
157
  - `SIGH_CERTIFICATE_EXPIRE_DATE` (The expire date of the certificate)
158
158
 
159
- If you're using [cert](https://github.com/KrauseFx/cert) in combination with [fastlane](https://github.com/KrauseFx/fastlane) the signing certificate will automatically be selected for you.
159
+ If you're using [cert](https://github.com/KrauseFx/cert) in combination with [fastlane](https://github.com/KrauseFx/fastlane) the signing certificate will automatically be selected for you. (make sure to run `cert` before `sigh`)
160
+
161
+ `sigh` will store the `UDID` of the generated provisioning profile in the environment: `SIGH_UDID`.
160
162
 
161
163
  # How does it work?
162
164
 
@@ -176,6 +178,9 @@ If you're using [cert](https://github.com/KrauseFx/cert) in combination with [fa
176
178
  - [`PEM`](https://github.com/KrauseFx/pem): Automatically generate and renew your push notification profiles
177
179
  - [`produce`](https://github.com/KrauseFx/produce): Create new iOS apps on iTunes Connect and Dev Portal using the command line
178
180
  - [`cert`](https://github.com/KrauseFx/cert): Automatically create and maintain iOS code signing certificates
181
+ - [`codes`](https://github.com/KrauseFx/codes): Create promo codes for iOS Apps using the command line
182
+
183
+ ##### [Like this tool? Be the first to know about updates and new fastlane tools](https://tinyletter.com/krausefx)
179
184
 
180
185
  ## Use the 'Provisioning Quicklook plugin'
181
186
  Download and install the [Provisioning Plugin](https://github.com/chockenberry/Provisioning).
@@ -22,9 +22,17 @@ module FastlaneCore
22
22
  output_path = File.join(TMP_FOLDER, cert_name)
23
23
  File.write(output_path, cert)
24
24
 
25
+ store_provisioning_id_in_environment(output_path) unless ENV["SIGH_SKIP_ANALYSER"]
26
+
25
27
  return output_path
26
28
  end
27
29
 
30
+ def store_provisioning_id_in_environment(path)
31
+ require 'sigh/profile_analyser'
32
+ udid = Sigh::ProfileAnalyser.run(path)
33
+ ENV["SIGH_UDID"] = udid if udid
34
+ end
35
+
28
36
  def maintain_app_certificate(app_identifier, type, force)
29
37
  begin
30
38
  if type == DEVELOPMENT
@@ -159,7 +167,8 @@ module FastlaneCore
159
167
 
160
168
  # 5) Choose a profile name
161
169
  wait_for_elements('.distributionType')
162
- profile_name = [app_identifier, type].join(' ')
170
+ profile_name = ENV["SIGH_PROVISIONING_PROFILE_NAME"]
171
+ profile_name ||= [app_identifier, type].join(' ')
163
172
  fill_in "provisioningProfileName", with: profile_name
164
173
  click_next
165
174
  wait_for_elements('.row-details')
@@ -0,0 +1,15 @@
1
+ require 'plist'
2
+
3
+ module Sigh
4
+ class ProfileAnalyser
5
+ def self.run(path)
6
+ plist = Plist::parse_xml(`security cms -D -i #{path}`)
7
+ if plist.count > 10
8
+ Helper.log.info("Provisioning profile of app '#{plist['AppIDName']}' with the name '#{plist['Name']}' successfully generated and analysed.".green)
9
+ return plist["UUID"]
10
+ else
11
+ Helper.log.error("Error parsing provisioning profile at path '#{path}'".red)
12
+ end
13
+ end
14
+ end
15
+ end
data/lib/sigh/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Sigh
2
- VERSION = "0.3.4"
2
+ VERSION = "0.3.5"
3
3
  end
metadata CHANGED
@@ -1,29 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sigh
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.3.5
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-02-19 00:00:00.000000000 Z
11
+ date: 2015-02-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fastlane_core
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 0.2.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 0.2.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: plist
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 3.1.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: 3.1.0
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -139,6 +153,7 @@ files:
139
153
  - lib/sigh/dependency_checker.rb
140
154
  - lib/sigh/developer_center.rb
141
155
  - lib/sigh/developer_center_signing.rb
156
+ - lib/sigh/profile_analyser.rb
142
157
  - lib/sigh/resign.rb
143
158
  - lib/sigh/version.rb
144
159
  homepage: http://fastlane.tools