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 +4 -4
- data/README.md +9 -5
- data/lib/match/utils.rb +14 -2
- data/lib/match/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2bf8411a952af7ce0f17769170a217aeef8bf939
|
4
|
+
data.tar.gz: 1c34d864fdde067fea574ee3a2f4ab5db1ab3e52
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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> •
|
@@ -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
|
-
|
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
|
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
|
-
|
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"
|
19
|
+
command << " &> /dev/null" unless $verbose
|
8
20
|
|
9
21
|
Helper.backticks(command, print: $verbose)
|
10
22
|
end
|
data/lib/match/version.rb
CHANGED
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.
|
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-
|
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.
|
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
|