match 0.6.1 → 0.6.2

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: 69d2b22f33191556e2c6caaebe82df73bae38497
4
- data.tar.gz: a448b4d6c7473b3eabf4bf7ca80151c213f53d59
3
+ metadata.gz: 2bf8411a952af7ce0f17769170a217aeef8bf939
4
+ data.tar.gz: 1c34d864fdde067fea574ee3a2f4ab5db1ab3e52
5
5
  SHA512:
6
- metadata.gz: 68d99ff49f1251c43ba757ba3e1517b3f888564ad3999c06d559d1397a3043450e39d94e84b16ea6fdebec75f3496214771643493f50680d199e7f8216813a93
7
- data.tar.gz: 9a82844f1676f5b6ba818424198b70643d3b2e4685115861b3f16f63fd4e202d375e1877bfbd7f8456595e3b635e0d08cd69d465e681f201a4ed0a75de63221b
6
+ metadata.gz: 3f823abc052fe4527efdffb73f54fbdb9eced633fc27cfa6274f867ad35d19a9ead31ee1e69d7a1fbf0d894e35c34b4211d828b1e42653a6db5dcc84d54b0f51
7
+ data.tar.gz: 4dcebb2b25763a1e4f69569ac27ccb609d6621f28ff5255b4b58ce33ef7caec35ef4398039fb3e171bf76a622ed4471a065d98a91b6de4c1dedb9ef28b19277c
data/README.md CHANGED
@@ -38,6 +38,10 @@ match
38
38
 
39
39
  A new approach to iOS code signing: Share one code signing identity across your development team to simplify your codesigning setup and prevent code signing issues.
40
40
 
41
+ `match` is the implementation of the https://codesigning.guide concept. `match` creates all required certificates & provisioning profiles and stores them in a separate git repository. Every team member with access to the repo can use those credentials for code signing. `match` also automatically repairs broken and expired credentials. It's the easiest way to share signing credentials across teams"
42
+
43
+ [More information on how to get started with codesigning](/fastlane/docs/Codesigning)
44
+
41
45
  -------
42
46
  <p align="center">
43
47
  <a href="#why-match">Why?</a> &bull;
@@ -130,7 +134,7 @@ username "user@fastlane.tools"
130
134
 
131
135
  #### Important: Use one git branch per team
132
136
 
133
- `match` also supports storing certificates of multiple teams in one repo, by using separate git branches. If you work in multiple teams, make sure to set the `git_branch` parameter to a unique value per team. From there, `match` will automatically create and use the specified branch for you.
137
+ `match` also supports storing certificates of multiple teams in one repo, by using separate git branches. If you work in multiple teams, make sure to set the `git_branch` parameter to a unique value per team. From there, `match` will automatically create and use the specified branch for you.
134
138
 
135
139
  ```ruby
136
140
  match(git_branch: "team1", username: "user@team1.com")
@@ -267,9 +271,7 @@ match(app_identifier: "tools.fastlane.app.today_widget", type: "appstore")
267
271
 
268
272
  ### Setup Xcode project
269
273
 
270
- To make sure Xcode is using the right provisioning profile for each target, don't use the `Automatic` feature for the profile selection.
271
-
272
- Additionally it is recommended to disable the `Fix Issue` button using the [FixCode Xcode Plugin](https://github.com/neonichu/FixCode). The `Fix Issue` button can revoke your existing certificates, which will invalidate your provisioning profiles.
274
+ [Docs on how to set up your Xcode project](/fastlane/docs/Codesigning/XcodeProject.md)
273
275
 
274
276
  #### To build from the command line using [fastlane](https://fastlane.tools)
275
277
 
@@ -291,6 +293,8 @@ This is useful when installing your application on your device using the Develop
291
293
 
292
294
  You can statically select the right provisioning profile in your Xcode project (the name will be `match Development tools.fastlane.app`).
293
295
 
296
+ [Docs on how to set up your Xcode project](/fastlane/docs/Codesigning/XcodeProject.md)
297
+
294
298
  ### Continuous Integration
295
299
 
296
300
  #### Repo access
@@ -301,7 +305,7 @@ Some repo hosts might allow you to use the same deploy key for different repos,
301
305
  There are a few ways around this:
302
306
 
303
307
  1. Create a new account on your repo host with read-only access to your `match` repo. Bitrise have a good description of this [here](http://devcenter.bitrise.io/docs/adding-projects-with-submodules).
304
- 2. Some CIs allow you to upload your signing credientials manually, but obviously this means that you'll have to re-upload the profiles/keys/certs each time they change.
308
+ 2. Some CIs allow you to upload your signing credentials manually, but obviously this means that you'll have to re-upload the profiles/keys/certs each time they change.
305
309
 
306
310
  Neither solution is pretty. It's one of those _trade-off_ things. Do you care more about **not** having an extra account sitting around, or do you care more about having the :sparkles: of auto-syncing of credentials.
307
311
 
data/lib/match/utils.rb CHANGED
@@ -1,10 +1,22 @@
1
1
  module Match
2
2
  class Utils
3
3
  def self.import(item_path, keychain)
4
- command = "security import #{item_path.shellescape} -k ~/Library/Keychains/#{keychain.shellescape}"
4
+ # Existing code expects that a keychain name will be expanded into a default path to Libary/Keychains
5
+ # in the user's home directory. However, this will not allow the user to pass an absolute path
6
+ # for the keychain value
7
+ #
8
+ # So, if the passed value can't be resolved as a file in Library/Keychains, just use it as-is
9
+ # as the keychain path.
10
+ keychain_paths = [File.join(Dir.home, 'Library', 'Keychains', keychain), keychain]
11
+
12
+ keychain_path = keychain_paths.detect { |path| File.exist?(path) }
13
+
14
+ UI.user_error!("Could not locate the provided keychain. Tried:\n\t#{keychain_paths.join("\n\t")}") unless keychain_path
15
+
16
+ command = "security import #{item_path.shellescape} -k #{keychain_path.shellescape}"
5
17
  command << " -T /usr/bin/codesign" # to not be asked for permission when running a tool like `gym`
6
18
  command << " -T /usr/bin/security"
7
- command << "&> /dev/null" # we couldn't care less about the output
19
+ command << " &> /dev/null" unless $verbose
8
20
 
9
21
  Helper.backticks(command, print: $verbose)
10
22
  end
data/lib/match/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module Match
2
- VERSION = "0.6.1"
2
+ VERSION = "0.6.2"
3
3
  DESCRIPTION = "Easily sync your certificates and profiles across your team using git"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: match
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-24 00:00:00.000000000 Z
11
+ date: 2016-08-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: security
@@ -311,7 +311,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
311
311
  version: '0'
312
312
  requirements: []
313
313
  rubyforge_project:
314
- rubygems_version: 2.4.8
314
+ rubygems_version: 2.4.5.1
315
315
  signing_key:
316
316
  specification_version: 4
317
317
  summary: Easily sync your certificates and profiles across your team using git