match 0.6.1 → 0.6.2
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 +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
|