README.md in match-0.6.1 vs README.md in match-0.6.2
- old
+ new
@@ -36,10 +36,14 @@
###### Easily sync your certificates and profiles across your team using git
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.
+`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"
+
+[More information on how to get started with codesigning](/fastlane/docs/Codesigning)
+
-------
<p align="center">
<a href="#why-match">Why?</a> •
<a href="#installation">Installation</a> •
<a href="#usage">Usage</a> •
@@ -128,11 +132,11 @@
username "user@fastlane.tools"
```
#### Important: Use one git branch per team
-`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.
+`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.
```ruby
match(git_branch: "team1", username: "user@team1.com")
match(git_branch: "team2", username: "user@team2.com")
```
@@ -265,14 +269,12 @@
`match` can even use the same one Git repository for all bundle identifiers.
### Setup Xcode project
-To make sure Xcode is using the right provisioning profile for each target, don't use the `Automatic` feature for the profile selection.
+[Docs on how to set up your Xcode project](/fastlane/docs/Codesigning/XcodeProject.md)
-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.
-
#### To build from the command line using [fastlane](https://fastlane.tools)
`match` automatically pre-fills environment variables with the UUIDs of the correct provisioning profiles, ready to be used in your Xcode project.
<img src="assets/UDIDPrint.png" width="700" />
@@ -289,20 +291,22 @@
This is useful when installing your application on your device using the Development profile.
You can statically select the right provisioning profile in your Xcode project (the name will be `match Development tools.fastlane.app`).
+[Docs on how to set up your Xcode project](/fastlane/docs/Codesigning/XcodeProject.md)
+
### Continuous Integration
#### Repo access
There is one tricky part of setting up a CI system to work with `match`, which is enabling the CI to access the repo. Usually you'd just add your CI's public ssh key as a deploy key to your `match` repo, but since your CI will already likely be using its public ssh key to access the codebase repo, [you won't be able to do that](https://help.github.com/articles/error-key-already-in-use/).
Some repo hosts might allow you to use the same deploy key for different repos, but GitHub will not. If your host does, you don't need to worry about this, just add your CI's public ssh key as a deploy key for your `match` repo and scroll down to "_Encryption password_".
There are a few ways around this:
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).
-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.
+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.
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.
#### Encryption password
Once you've decided which approach to take, all that's left to do is to set your encryption password as secret environment variable named `MATCH_PASSWORD`. Match will pick this up when it's run.