fastlane 2.118.0.beta.20190309200014 → 2.118.0.beta.20190310200100
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2a7f27ca3cbc60232a64042b967bf5b0f1fead5c
|
4
|
+
data.tar.gz: 56d5ad659ff4ef7260ab78b26f8640497f9076bf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c3909edc580b5bee7c5b6b3be4054ea7462c3c759b42e865c6d7bcff1f40dfef7e421dfb548f187d59f5921669132b8e26f67d2557a93080be9921ac3a55b882
|
7
|
+
data.tar.gz: ac3cc2664058b6e1d135b94773066b37cc909ef8cab13a916615f865cc05d3ca45335bd815834e09eb0778856d790d94a97007cc0fa063cb4863c35483ebd7f1
|
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
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.
|
8
8
|
|
9
|
-
_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
|
9
|
+
_match_ is the implementation of the [https://codesigning.guide concept](https://codesigning.guide). _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
|
10
10
|
|
11
11
|
[More information on how to get started with codesigning](https://docs.fastlane.tools/codesigning/getting-started/)
|
12
12
|
|
@@ -24,7 +24,7 @@ _match_ is the implementation of the https://codesigning.guide concept. _match_
|
|
24
24
|
|
25
25
|
## Why match?
|
26
26
|
|
27
|
-
Before starting to use _match_, make sure to read the [codesigning.guide](https://codesigning.guide)
|
27
|
+
Before starting to use _match_, make sure to read the [codesigning.guide](https://codesigning.guide):
|
28
28
|
|
29
29
|
> When deploying an app to the App Store, beta testing service or even installing it on a device, most development teams have separate code signing identities for every member. This results in dozens of profiles including a lot of duplicates.
|
30
30
|
|
@@ -34,6 +34,8 @@ Before starting to use _match_, make sure to read the [codesigning.guide](https:
|
|
34
34
|
|
35
35
|
> Share one code signing identity across your development team to simplify your setup and prevent code signing issues. What if there was a central place where your code signing identity and profiles are kept, so anyone in the team can access them during the build process?
|
36
36
|
|
37
|
+
For more information about the concept, visit [codesigning.guide](https://codesigning.guide).
|
38
|
+
|
37
39
|
### Why not let Xcode handle all this?
|
38
40
|
|
39
41
|
- You have full control over what happens
|
@@ -58,15 +60,12 @@ Before starting to use _match_, make sure to read the [codesigning.guide](https:
|
|
58
60
|
👥 | Support for multiple Apple accounts and multiple teams
|
59
61
|
✨ | Tightly integrated with [_fastlane_](https://fastlane.tools) to work seamlessly with [_gym_](https://docs.fastlane.tools/actions/gym/) and other build tools
|
60
62
|
|
61
|
-
For more information about the concept, visit [codesigning.guide](https://codesigning.guide).
|
62
|
-
|
63
63
|
## Usage
|
64
64
|
|
65
65
|
### Setup
|
66
66
|
|
67
|
-
1. Create a **new,
|
68
|
-
|
69
|
-
3. Run the following in your project folder to start using _match_:
|
67
|
+
1. Optional: Create a **new, shared Apple Developer Portal account**, something like `office@company.com`, that will be shared across your team from now on (for more information visit [codesigning.guide](https://codesigning.guide))
|
68
|
+
1. Run the following in your project folder to start using _match_:
|
70
69
|
|
71
70
|
```no-highlight
|
72
71
|
fastlane match init
|
@@ -74,13 +73,13 @@ fastlane match init
|
|
74
73
|
|
75
74
|
<img src="/img/actions/match_init.gif" width="550" />
|
76
75
|
|
77
|
-
You'll be asked if you want to store your code signing identities inside a Git repo
|
76
|
+
You'll be asked if you want to store your code signing identities inside a **Git repo**, or on **Google Cloud**.
|
78
77
|
|
79
78
|
#### Git Storage
|
80
79
|
|
81
80
|
Use Git Storage to store all code signing identities in a private git repo, owned and operated by you. The files will be encrypted using OpenSSL.
|
82
81
|
|
83
|
-
First, enter the URL to your Git repo.
|
82
|
+
First, enter the URL to your private (!) Git repo (You can create one for free on e.g. [GitHub](https://github.com/new) or [BitBucket](https://bitbucket.org/repo/create)). The URL you enter can be either a `https://` or a `git` URL. (If your machine is currently using SSH to authenticate with GitHub, you'll want to use a `git` URL, otherwise you may see an authentication error when you attempt to use match.) `fastlane match init` won't read or modify your certificates or profiles yet, and also won't validate your git URL.
|
84
83
|
|
85
84
|
This will create a `Matchfile` in your current directory (or in your `./fastlane/` folder).
|
86
85
|
|
@@ -107,6 +106,8 @@ google_cloud_bucket_name("major-key-certificates")
|
|
107
106
|
|
108
107
|
### Multiple teams
|
109
108
|
|
109
|
+
_match_ can store the codesigning files for multiple development teams:
|
110
|
+
|
110
111
|
#### Git Storage
|
111
112
|
|
112
113
|
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.
|
@@ -136,7 +137,8 @@ fastlane match development
|
|
136
137
|
|
137
138
|
<img src="/img/actions/match_appstore_small.gif" width="550" />
|
138
139
|
|
139
|
-
This will create a new certificate and provisioning profile (if required) and store them in your selected storage.
|
140
|
+
This will create a new certificate and provisioning profile (if required) and store them in your selected storage.
|
141
|
+
If you previously ran _match_ with the configured storage it will automatically install the existing profiles from your storage.
|
140
142
|
|
141
143
|
The provisioning profiles are installed in `~/Library/MobileDevice/Provisioning Profiles` while the certificates and private keys are installed in your Keychain.
|
142
144
|
|
@@ -154,7 +156,9 @@ fastlane action match
|
|
154
156
|
|
155
157
|
#### Handle multiple targets
|
156
158
|
|
157
|
-
|
159
|
+
_match_ can use the same one Git repository or Google Cloud Storage for all bundle identifiers.
|
160
|
+
|
161
|
+
If you have several targets with different bundle identifiers, supply them as a comma-separated list:
|
158
162
|
|
159
163
|
```no-highlight
|
160
164
|
fastlane match appstore -a tools.fastlane.app,tools.fastlane.app.watchkitapp
|
@@ -164,11 +168,11 @@ You can make this even easier using [_fastlane_](https://fastlane.tools) by crea
|
|
164
168
|
|
165
169
|
```ruby
|
166
170
|
lane :certificates do
|
167
|
-
match(app_identifier: ["
|
171
|
+
match(app_identifier: ["tools.fastlane.app", "tools.fastlane.app.watchkitapp"])
|
168
172
|
end
|
169
173
|
```
|
170
174
|
|
171
|
-
Then all your team has to do is `fastlane certificates` and keys,
|
175
|
+
Then all your team has to do is run `fastlane certificates` and the keys, certificates and profiles for all targets will be synced.
|
172
176
|
|
173
177
|
#### Handle multiple apps per developer/distribution certificate
|
174
178
|
|
@@ -189,17 +193,17 @@ _match_ will reuse certificates and will create separate provisioning profiles f
|
|
189
193
|
|
190
194
|
When running _match_ for the first time on a new machine, it will ask you for the passphrase for the Git repository. This is an additional layer of security: each of the files will be encrypted using `openssl`. Make sure to remember the password, as you'll need it when you run match on a different machine.
|
191
195
|
|
192
|
-
To set the passphrase to decrypt your profiles using an environment variable
|
196
|
+
To set the passphrase to decrypt your profiles using an environment variable (and avoid the prompt) use `MATCH_PASSWORD`.
|
193
197
|
|
194
198
|
#### Migrate from Git Repo to Google Cloud
|
195
199
|
|
196
|
-
If you're already using a Git Repo, but would like to switch to using Google Cloud Storage,
|
200
|
+
If you're already using a Git Repo, but would like to switch to using Google Cloud Storage, run the following command to automatically migrate all your existing code signing identities and provisioning profiles
|
197
201
|
|
198
202
|
```no-highlight
|
199
203
|
fastlane match migrate
|
200
204
|
```
|
201
205
|
|
202
|
-
After a successful migration you can safely delete your
|
206
|
+
After a successful migration you can safely delete your Git repo.
|
203
207
|
|
204
208
|
#### Google Cloud access control
|
205
209
|
|
@@ -325,16 +329,6 @@ If you're not using _fastlane_, you can also use the `force_for_new_devices` opt
|
|
325
329
|
fastlane match adhoc --force_for_new_devices
|
326
330
|
```
|
327
331
|
|
328
|
-
##### Multiple Targets
|
329
|
-
|
330
|
-
If your app has multiple targets (e.g. Today Widget or watchOS Extension)
|
331
|
-
|
332
|
-
```ruby
|
333
|
-
match(app_identifier: ["tools.fastlane.app", "tools.fastlane.app.today_widget"], type: "appstore")
|
334
|
-
```
|
335
|
-
|
336
|
-
_match_ can use the same one Git repository or Google Cloud Storage for all bundle identifiers.
|
337
|
-
|
338
332
|
##### Templates (aka: custom entitlements)
|
339
333
|
|
340
334
|
Match can generate profiles that contain custom entitlements by passing in the entitlement's name with the `template_name` parameter.
|
@@ -35,6 +35,14 @@ module Fastlane
|
|
35
35
|
command << "--use-libraries"
|
36
36
|
end
|
37
37
|
|
38
|
+
if params[:skip_import_validation]
|
39
|
+
command << "--skip-import-validation"
|
40
|
+
end
|
41
|
+
|
42
|
+
if params[:skip_tests]
|
43
|
+
command << "--skip-tests"
|
44
|
+
end
|
45
|
+
|
38
46
|
if params[:verbose]
|
39
47
|
command << "--verbose"
|
40
48
|
end
|
@@ -56,7 +64,7 @@ module Fastlane
|
|
56
64
|
[
|
57
65
|
FastlaneCore::ConfigItem.new(key: :use_bundle_exec,
|
58
66
|
description: "Use bundle exec when there is a Gemfile presented",
|
59
|
-
|
67
|
+
type: Boolean,
|
60
68
|
default_value: false),
|
61
69
|
FastlaneCore::ConfigItem.new(key: :path,
|
62
70
|
description: "The Podspec you want to push",
|
@@ -71,11 +79,11 @@ module Fastlane
|
|
71
79
|
FastlaneCore::ConfigItem.new(key: :allow_warnings,
|
72
80
|
description: "Allow warnings during pod push",
|
73
81
|
optional: true,
|
74
|
-
|
82
|
+
type: Boolean),
|
75
83
|
FastlaneCore::ConfigItem.new(key: :use_libraries,
|
76
84
|
description: "Allow lint to use static libraries to install the spec",
|
77
85
|
optional: true,
|
78
|
-
|
86
|
+
type: Boolean),
|
79
87
|
FastlaneCore::ConfigItem.new(key: :sources,
|
80
88
|
description: "The sources of repos you want the pod spec to lint with, separated by commas",
|
81
89
|
optional: true,
|
@@ -88,10 +96,18 @@ module Fastlane
|
|
88
96
|
description: "The SWIFT_VERSION that should be used to lint the spec. This takes precedence over a .swift-version file",
|
89
97
|
optional: true,
|
90
98
|
is_string: true),
|
99
|
+
FastlaneCore::ConfigItem.new(key: :skip_import_validation,
|
100
|
+
description: "Lint skips validating that the pod can be imported",
|
101
|
+
optional: true,
|
102
|
+
type: Boolean),
|
103
|
+
FastlaneCore::ConfigItem.new(key: :skip_tests,
|
104
|
+
description: "Lint skips building and running tests during validation",
|
105
|
+
optional: true,
|
106
|
+
type: Boolean),
|
91
107
|
FastlaneCore::ConfigItem.new(key: :verbose,
|
92
108
|
description: "Show more debugging information",
|
93
109
|
optional: true,
|
94
|
-
|
110
|
+
type: Boolean,
|
95
111
|
default_value: false)
|
96
112
|
]
|
97
113
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module Fastlane
|
2
|
-
VERSION = '2.118.0.beta.
|
2
|
+
VERSION = '2.118.0.beta.20190310200100'.freeze
|
3
3
|
DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
|
4
4
|
MINIMUM_XCODE_RELEASE = "7.0".freeze
|
5
5
|
RUBOCOP_REQUIREMENT = '0.49.1'.freeze
|
data/sigh/lib/assets/resign.sh
CHANGED
@@ -66,6 +66,9 @@
|
|
66
66
|
# new features January 2019
|
67
67
|
# 1. fixed bug where the com.apple.icloud-container-environment entitlement was being assigned an incorrect value
|
68
68
|
#
|
69
|
+
# new features March 2019
|
70
|
+
# 1. two more fixes for only creating the archived-expanded-entitlements.xcent file if the version of Xcode < 9.3 as Xcode 10 does not create it.
|
71
|
+
#
|
69
72
|
|
70
73
|
# Logging functions
|
71
74
|
|
@@ -589,7 +592,10 @@ function resign {
|
|
589
592
|
|
590
593
|
log "Resigning application using certificate: '$CERTIFICATE'"
|
591
594
|
log "and entitlements: $ENTITLEMENTS"
|
592
|
-
|
595
|
+
if [[ "${XCODE_VERSION/.*/}" -lt 10 ]]; then
|
596
|
+
log "Creating an archived-expanded-entitlements.xcent file for Xcode 9 builds or earlier"
|
597
|
+
cp -f "$ENTITLEMENTS" "$APP_PATH/archived-expanded-entitlements.xcent"
|
598
|
+
fi
|
593
599
|
/usr/bin/codesign ${VERBOSE} -f -s "$CERTIFICATE" --entitlements "$ENTITLEMENTS" "$APP_PATH"
|
594
600
|
checkStatus
|
595
601
|
elif [[ -n "${USE_APP_ENTITLEMENTS}" ]]; then
|
@@ -816,7 +822,10 @@ function resign {
|
|
816
822
|
log "Resigning application using certificate: '$CERTIFICATE'"
|
817
823
|
log "and patched entitlements:"
|
818
824
|
log "$(cat "$PATCHED_ENTITLEMENTS")"
|
819
|
-
|
825
|
+
if [[ "${XCODE_VERSION/.*/}" -lt 10 ]]; then
|
826
|
+
log "Creating an archived-expanded-entitlements.xcent file for Xcode 9 builds or earlier"
|
827
|
+
cp -f "$PATCHED_ENTITLEMENTS" "$APP_PATH/archived-expanded-entitlements.xcent"
|
828
|
+
fi
|
820
829
|
/usr/bin/codesign ${VERBOSE} -f -s "$CERTIFICATE" --entitlements "$PATCHED_ENTITLEMENTS" "$APP_PATH"
|
821
830
|
checkStatus
|
822
831
|
else
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.118.0.beta.
|
4
|
+
version: 2.118.0.beta.20190310200100
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jimmy Dee
|
@@ -27,7 +27,7 @@ authors:
|
|
27
27
|
autorequire:
|
28
28
|
bindir: bin
|
29
29
|
cert_chain: []
|
30
|
-
date: 2019-03-
|
30
|
+
date: 2019-03-10 00:00:00.000000000 Z
|
31
31
|
dependencies:
|
32
32
|
- !ruby/object:Gem::Dependency
|
33
33
|
name: slack-notifier
|
@@ -1687,24 +1687,24 @@ metadata:
|
|
1687
1687
|
post_install_message:
|
1688
1688
|
rdoc_options: []
|
1689
1689
|
require_paths:
|
1690
|
+
- produce/lib
|
1691
|
+
- match/lib
|
1692
|
+
- fastlane_core/lib
|
1693
|
+
- cert/lib
|
1690
1694
|
- supply/lib
|
1691
|
-
- screengrab/lib
|
1692
1695
|
- spaceship/lib
|
1693
|
-
-
|
1694
|
-
- sigh/lib
|
1696
|
+
- precheck/lib
|
1695
1697
|
- snapshot/lib
|
1696
|
-
-
|
1698
|
+
- scan/lib
|
1697
1699
|
- pem/lib
|
1698
|
-
-
|
1700
|
+
- pilot/lib
|
1699
1701
|
- deliver/lib
|
1700
|
-
- gym/lib
|
1701
1702
|
- fastlane/lib
|
1702
|
-
-
|
1703
|
-
-
|
1704
|
-
-
|
1705
|
-
- fastlane_core/lib
|
1703
|
+
- screengrab/lib
|
1704
|
+
- sigh/lib
|
1705
|
+
- gym/lib
|
1706
1706
|
- credentials_manager/lib
|
1707
|
-
-
|
1707
|
+
- frameit/lib
|
1708
1708
|
required_ruby_version: !ruby/object:Gem::Requirement
|
1709
1709
|
requirements:
|
1710
1710
|
- - ">="
|