fastlane 2.61.0.beta.20171009010003 → 2.61.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/fastlane/lib/.DS_Store +0 -0
- data/fastlane/lib/assets/.DS_Store +0 -0
- data/fastlane/lib/fastlane/.DS_Store +0 -0
- data/fastlane/lib/fastlane/actions/.DS_Store +0 -0
- data/fastlane/lib/fastlane/actions/backup_xcarchive.rb +10 -1
- data/fastlane/lib/fastlane/actions/docs/.DS_Store +0 -0
- data/fastlane/lib/fastlane/actions/docs/frameit.md +4 -4
- data/fastlane/lib/fastlane/actions/docs/match.md +7 -7
- data/fastlane/lib/fastlane/actions/docs/pem.md +2 -2
- data/fastlane/lib/fastlane/actions/docs/precheck.md +5 -3
- data/fastlane/lib/fastlane/actions/docs/produce.md +16 -16
- data/fastlane/lib/fastlane/actions/docs/scan.md +5 -5
- data/fastlane/lib/fastlane/actions/docs/screengrab.md +1 -1
- data/fastlane/lib/fastlane/actions/docs/sigh.md +3 -3
- data/fastlane/lib/fastlane/actions/docs/snapshot.md +5 -6
- data/fastlane/lib/fastlane/version.rb +1 -1
- metadata +23 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9b86b8067250cc6c52f7f47a0f7035a1a8d0c6c8
|
4
|
+
data.tar.gz: b1fda36602b3022bcba3034fafdac672772ebbeb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb164f078e32e06a93114d8eb6518dbcdb246fbdbaae57dcd4141df747ffdd0f0869f59e0183b20d01eb6ac24ab1ccddac06e22e4a286ede242b1a19eb0e8b69
|
7
|
+
data.tar.gz: 4be34ef5c10b4289ccf9481b5b01c42712f67aa5c962392198e4f7648b8e7d0abfe12fbf5051215c7cd2a122cf79b8e4de46715a918f9195013433f2da6dbb18
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -12,6 +12,7 @@ module Fastlane
|
|
12
12
|
xcarchive = params[:xcarchive]
|
13
13
|
base_destination = params[:destination]
|
14
14
|
zipped = params[:zip]
|
15
|
+
zip_filename = params[:zip_filename]
|
15
16
|
versioned = params[:versioned]
|
16
17
|
|
17
18
|
# Prepare destionation folder
|
@@ -32,7 +33,11 @@ module Fastlane
|
|
32
33
|
UI.message("Compressing #{xcarchive}")
|
33
34
|
xcarchive_folder = File.expand_path(File.dirname(xcarchive))
|
34
35
|
xcarchive_file = File.basename(xcarchive)
|
35
|
-
zip_file =
|
36
|
+
zip_file = if zip_filename
|
37
|
+
File.join(dir, "#{zip_filename}.xcarchive.zip")
|
38
|
+
else
|
39
|
+
File.join(dir, "#{xcarchive_file}.zip")
|
40
|
+
end
|
36
41
|
|
37
42
|
# Create zip
|
38
43
|
Actions.sh(%(cd "#{xcarchive_folder}" && zip -r -X "#{zip_file}" "#{xcarchive_file}" > /dev/null))
|
@@ -81,6 +86,10 @@ module Fastlane
|
|
81
86
|
default_value: true,
|
82
87
|
optional: true,
|
83
88
|
env_name: 'BACKUP_XCARCHIVE_ZIP'),
|
89
|
+
FastlaneCore::ConfigItem.new(key: :zip_filename,
|
90
|
+
description: 'Filename of the compressed archive. Will be appended by `.xcarchive.zip`. Default value is the output xcarchive filename',
|
91
|
+
optional: true,
|
92
|
+
env_name: 'BACKUP_XCARCHIVE_ZIP_FILENAME'),
|
84
93
|
FastlaneCore::ConfigItem.new(key: :versioned,
|
85
94
|
description: 'Create a versioned (date and app version) subfolder where to put the archive. Default value `true`',
|
86
95
|
is_string: false,
|
Binary file
|
@@ -30,19 +30,19 @@ The complete and updated list of supported devices and colors can be found [here
|
|
30
30
|
|
31
31
|
Here is a nice gif, that shows ``_frameit_`` in action:
|
32
32
|
|
33
|
-
![img/actions/FrameitGit.gif](
|
33
|
+
![img/actions/FrameitGit.gif](/img/actions/FrameitGit.gif?raw=1)
|
34
34
|
|
35
35
|
### Results
|
36
36
|
|
37
|
-
![img/actions/ScreenshotsBig.png](
|
37
|
+
![img/actions/ScreenshotsBig.png](/img/actions/ScreenshotsBig.png?raw=1)
|
38
38
|
|
39
39
|
-------
|
40
40
|
|
41
|
-
![img/actions/ScreenshotsOverview.png](
|
41
|
+
![img/actions/ScreenshotsOverview.png](/img/actions/ScreenshotsOverview.png?raw=1)
|
42
42
|
|
43
43
|
-------
|
44
44
|
|
45
|
-
![img/actions/MacExample.png](
|
45
|
+
![img/actions/MacExample.png](/img/actions/MacExample.png?raw=1)
|
46
46
|
|
47
47
|
<h5 align="center">The <code>frameit</code> 2.0 update was kindly sponsored by <a href="https://mindnode.com/">MindNode</a>, seen in the screenshots above.
|
48
48
|
|
@@ -82,7 +82,7 @@ This will create a `Matchfile` in your current directory (or in your `./fastlane
|
|
82
82
|
|
83
83
|
Example content (for more advanced setups check out the [fastlane section](#fastlane)):
|
84
84
|
|
85
|
-
```ruby
|
85
|
+
```ruby-skip-tests
|
86
86
|
git_url "https://github.com/fastlane/fastlane/tree/master/certificates"
|
87
87
|
|
88
88
|
app_identifier "tools.fastlane.app"
|
@@ -198,23 +198,23 @@ Additionally, _match_ creates a nice repo `README.md` for you, making it easy to
|
|
198
198
|
|
199
199
|
Add _match_ to your `Fastfile` to automatically fetch the latest code signing certificates with [fastlane](https://fastlane.tools).
|
200
200
|
|
201
|
-
```
|
201
|
+
```
|
202
202
|
match(type: "appstore")
|
203
203
|
|
204
|
-
match(git_url: "https://github.com/fastlane/
|
204
|
+
match(git_url: "https://github.com/fastlane/certificates",
|
205
205
|
type: "development")
|
206
206
|
|
207
|
-
match(git_url: "https://github.com/fastlane/
|
207
|
+
match(git_url: "https://github.com/fastlane/certificates",
|
208
208
|
type: "adhoc",
|
209
209
|
app_identifier: "tools.fastlane.app")
|
210
210
|
|
211
|
-
match(git_url: "https://github.com/fastlane/
|
211
|
+
match(git_url: "https://github.com/fastlane/certificates",
|
212
212
|
type: "enterprise",
|
213
213
|
app_identifier: "tools.fastlane.app")
|
214
214
|
|
215
215
|
# _match_ should be called before building the app with _gym_
|
216
216
|
gym
|
217
|
-
...
|
217
|
+
# ...
|
218
218
|
```
|
219
219
|
|
220
220
|
##### Registering new devices
|
@@ -232,7 +232,7 @@ By using the `force_for_new_devices` parameter, _match_ will check if the device
|
|
232
232
|
|
233
233
|
_**Important:** The `force_for_new_devices` parameter is ignored for App Store provisioning profiles since they don't contain any device information._
|
234
234
|
|
235
|
-
If you're not using
|
235
|
+
If you're not using _fastlane_, you can also use the `force_for_new_devices` option from the command line:
|
236
236
|
|
237
237
|
```no-highlight
|
238
238
|
fastlane match adhoc --force_for_new_devices
|
@@ -31,7 +31,7 @@ Well, it's actually just one: Generate the ``_pem_`` file for your server.
|
|
31
31
|
|
32
32
|
Check out this gif:
|
33
33
|
|
34
|
-
![img/actions/PEMRecording.gif](
|
34
|
+
![img/actions/PEMRecording.gif](/img/actions/PEMRecording.gif)
|
35
35
|
|
36
36
|
# Usage
|
37
37
|
|
@@ -117,4 +117,4 @@ _pem_ uses [spaceship](https://spaceship.airforce) to communicate with the Apple
|
|
117
117
|
Download and install the [Provisioning Plugin](https://github.com/chockenberry/Provisioning).
|
118
118
|
|
119
119
|
It will show you the ``_pem_`` files like this:
|
120
|
-
![img/actions/QuickLookScreenshot.png](
|
120
|
+
![img/actions/QuickLookScreenshot.png](/img/actions/QuickLookScreenshot.png)
|
@@ -51,7 +51,7 @@ Since you might want to manually trigger _precheck_ but don't want to specify al
|
|
51
51
|
|
52
52
|
Run `fastlane precheck init` to create a new configuration file. Example:
|
53
53
|
|
54
|
-
```ruby
|
54
|
+
```ruby-skip-tests
|
55
55
|
# indicates that your metadata will not be checked by this rule
|
56
56
|
negative_apple_sentiment(level: :skip)
|
57
57
|
|
@@ -74,12 +74,14 @@ Update your `Fastfile` to contain the following code:
|
|
74
74
|
|
75
75
|
```ruby
|
76
76
|
lane :production do
|
77
|
-
...
|
77
|
+
# ...
|
78
|
+
|
78
79
|
# by default deliver will call precheck and warn you of any problems
|
79
80
|
# if you want precheck to halt submitting to app review, you can pass
|
80
81
|
# precheck_default_rule_level: :error
|
81
82
|
deliver(precheck_default_rule_level: :error)
|
82
|
-
|
83
|
+
|
84
|
+
# ...
|
83
85
|
end
|
84
86
|
|
85
87
|
# or if you prefer, you can run precheck alone
|
@@ -185,25 +185,25 @@ lane :release do
|
|
185
185
|
language: 'English',
|
186
186
|
app_version: '1.0',
|
187
187
|
sku: '123',
|
188
|
-
team_name: 'SunApps GmbH' # only necessary when in multiple teams
|
188
|
+
team_name: 'SunApps GmbH', # only necessary when in multiple teams
|
189
189
|
|
190
190
|
# Optional
|
191
191
|
# App services can be enabled during app creation
|
192
192
|
enable_services: {
|
193
|
-
app_group: "on" # Valid values: "on", "off"
|
194
|
-
apple_pay: "on" # Valid values: "on", "off"
|
195
|
-
associated_domains: "on" # Valid values: "on", "off"
|
196
|
-
data_protection: "complete" # Valid values: "complete", "unlessopen", "untilfirstauth"
|
197
|
-
game_center: "on" # Valid values: "on", "off"
|
198
|
-
health_kit: "on" # Valid values: "on", "off"
|
199
|
-
home_kit: "on" # Valid values: "on", "off"
|
200
|
-
wireless_accessory: "on" # Valid values: "on", "off"
|
201
|
-
icloud: "cloudkit" # Valid values: "legacy", "cloudkit"
|
202
|
-
in_app_purchase: "on" # Valid values: "on", "off"
|
203
|
-
inter_app_audio: "on" # Valid values: "on", "off"
|
204
|
-
passbook: "on" # Valid values: "on", "off"
|
205
|
-
push_notification: "on" # Valid values: "on", "off"
|
206
|
-
siri_kit: "on" # Valid values: "on", "off"
|
193
|
+
app_group: "on", # Valid values: "on", "off"
|
194
|
+
apple_pay: "on", # Valid values: "on", "off"
|
195
|
+
associated_domains: "on", # Valid values: "on", "off"
|
196
|
+
data_protection: "complete", # Valid values: "complete", "unlessopen", "untilfirstauth",
|
197
|
+
game_center: "on", # Valid values: "on", "off"
|
198
|
+
health_kit: "on", # Valid values: "on", "off"
|
199
|
+
home_kit: "on", # Valid values: "on", "off"
|
200
|
+
wireless_accessory: "on", # Valid values: "on", "off"
|
201
|
+
icloud: "cloudkit", # Valid values: "legacy", "cloudkit"
|
202
|
+
in_app_purchase: "on", # Valid values: "on", "off"
|
203
|
+
inter_app_audio: "on", # Valid values: "on", "off"
|
204
|
+
passbook: "on", # Valid values: "on", "off"
|
205
|
+
push_notification: "on", # Valid values: "on", "off"
|
206
|
+
siri_kit: "on", # Valid values: "on", "off"
|
207
207
|
vpn_configuration: "on" # Valid values: "on", "off"
|
208
208
|
}
|
209
209
|
)
|
@@ -214,7 +214,7 @@ end
|
|
214
214
|
|
215
215
|
To use the newly generated app in _deliver_, you need to add this line to your `Deliverfile`:
|
216
216
|
|
217
|
-
```ruby
|
217
|
+
```ruby-skip-tests
|
218
218
|
apple_id ENV['PRODUCE_APPLE_ID']
|
219
219
|
```
|
220
220
|
|
@@ -83,10 +83,10 @@ _scan_ uses the latest APIs and tools to make running tests plain simple and off
|
|
83
83
|
|
84
84
|
_scan_ uses a plain `xcodebuild` command, therefore keeping 100% compatible with `xcodebuild`. To generate the nice output, _scan_ uses [xcpretty](https://github.com/supermarin/xcpretty). You can alway access the raw output in `~/Library/Logs/scan`.
|
85
85
|
|
86
|
-
![img/actions/scanScreenshot.png](
|
87
|
-
![img/actions/slack.png](
|
88
|
-
![img/actions/scanHTML.png](
|
89
|
-
![img/actions/scanHTMLFailing.png](
|
86
|
+
![img/actions/scanScreenshot.png](/img/actions/scanScreenshot.png)
|
87
|
+
![img/actions/slack.png](/img/actions/slack.png)
|
88
|
+
![img/actions/scanHTML.png](/img/actions/scanHTML.png)
|
89
|
+
![img/actions/scanHTMLFailing.png](/img/actions/scanHTMLFailing.png)
|
90
90
|
|
91
91
|
# Usage
|
92
92
|
|
@@ -121,7 +121,7 @@ Since you might want to manually trigger the tests but don't want to specify all
|
|
121
121
|
|
122
122
|
Run `fastlane scan init` to create a new configuration file. Example:
|
123
123
|
|
124
|
-
```ruby
|
124
|
+
```ruby-skip-tests
|
125
125
|
scheme "Example"
|
126
126
|
devices ["iPhone 6s", "iPad Air"]
|
127
127
|
|
@@ -80,7 +80,7 @@ Running `fastlane screengrab init` generated a Screengrabfile which can store al
|
|
80
80
|
|
81
81
|
The `Screengrabfile` is written in Ruby, so you may find it helpful to use an editor that highlights Ruby syntax to modify this file.
|
82
82
|
|
83
|
-
```ruby
|
83
|
+
```ruby-skip-tests
|
84
84
|
# remove the leading '#' to uncomment lines
|
85
85
|
|
86
86
|
# app_package_name 'your.app.package'
|
@@ -34,13 +34,13 @@ To automate iOS Push profiles you can use [pem](https://github.com/fastlane/fast
|
|
34
34
|
### Why not let Xcode do the work?
|
35
35
|
|
36
36
|
- _sigh_ can easily be integrated into your CI-server (e.g. Jenkins)
|
37
|
-
- Xcode sometimes invalidates [all existing profiles](
|
37
|
+
- Xcode sometimes invalidates [all existing profiles](/img/actions/SignErrors.png)
|
38
38
|
- You have control over what happens
|
39
39
|
- You still get to have the signing files, which you can then use for your build scripts or store in git
|
40
40
|
|
41
41
|
See _sigh_ in action:
|
42
42
|
|
43
|
-
![img/actions/sighRecording.gif](
|
43
|
+
![img/actions/sighRecording.gif](/img/actions/sighRecording.gif)
|
44
44
|
|
45
45
|
# Usage
|
46
46
|
|
@@ -176,7 +176,7 @@ _sigh_ uses the [CredentialsManager](https://github.com/fastlane/fastlane/tree/m
|
|
176
176
|
Download and install the [Provisioning Plugin](https://github.com/chockenberry/Provisioning).
|
177
177
|
|
178
178
|
It will show you the `mobileprovision` files like this:
|
179
|
-
![img/actions/QuickLookScreenshot.png](
|
179
|
+
![img/actions/QuickLookScreenshot.png](/img/actions/QuickLookScreenshot.png)
|
180
180
|
|
181
181
|
## App Identifier couldn't be found
|
182
182
|
|
@@ -50,7 +50,7 @@ _snapshot_ runs completely in the background - you can do something else, while
|
|
50
50
|
|
51
51
|
After _snapshot_ successfully created new screenshots, it will generate a beautiful HTML file to get a quick overview of all screens:
|
52
52
|
|
53
|
-
![img/actions/htmlPagePreviewFade.jpg](
|
53
|
+
![img/actions/htmlPagePreviewFade.jpg](/img/actions/htmlPagePreviewFade.jpg)
|
54
54
|
|
55
55
|
## Why?
|
56
56
|
|
@@ -110,7 +110,7 @@ XCUIApplication *app = [[XCUIApplication alloc] init];
|
|
110
110
|
|
111
111
|
_Make sure you only have one `launch` call in your test class, as Xcode adds one automatically on new test files._
|
112
112
|
|
113
|
-
![img/actions/snapshot.gif](
|
113
|
+
![img/actions/snapshot.gif](/img/actions/snapshot.gif)
|
114
114
|
|
115
115
|
You can try the _snapshot_ [example project](https://github.com/fastlane/fastlane/tree/master/snapshot/example) by cloning this repo.
|
116
116
|
|
@@ -184,7 +184,7 @@ First make sure to have a `Snapfile` (you get it for free when running `fastlane
|
|
184
184
|
The `Snapfile` can contain all the options that are also available on `fastlane action snapshot`
|
185
185
|
|
186
186
|
|
187
|
-
```ruby
|
187
|
+
```ruby-skip-tests
|
188
188
|
scheme "UITests"
|
189
189
|
|
190
190
|
devices([
|
@@ -209,7 +209,6 @@ output_directory './screenshots'
|
|
209
209
|
clear_previous_screenshots true
|
210
210
|
|
211
211
|
add_photos ["MyTestApp/Assets/demo.jpg"]
|
212
|
-
|
213
212
|
```
|
214
213
|
|
215
214
|
### Completely reset all simulators
|
@@ -240,7 +239,7 @@ to update your `SnapshotHelper.swift` files. In case you modified your `Snapshot
|
|
240
239
|
|
241
240
|
You can provide additional arguments to your app on launch. These strings will be available in your app (eg. not in the testing target) through `ProcessInfo.processInfo.arguments`. Alternatively, use user-default syntax (`-key value`) and they will be available as key-value pairs in `UserDefaults.standard`.
|
242
241
|
|
243
|
-
```ruby
|
242
|
+
```ruby-skip-tests
|
244
243
|
launch_arguments([
|
245
244
|
"-firstName Felix -lastName Krause"
|
246
245
|
])
|
@@ -261,7 +260,7 @@ if UserDefaults.standard.bool(forKey: "FASTLANE_SNAPSHOT") {
|
|
261
260
|
|
262
261
|
Specify multiple argument strings and _snapshot_ will generate screenshots for each combination of arguments, devices, and languages. This is useful for comparing the same screenshots with different feature flags, dynamic text sizes, and different data sets.
|
263
262
|
|
264
|
-
```ruby
|
263
|
+
```ruby-skip-tests
|
265
264
|
# Snapfile for A/B Test Comparison
|
266
265
|
launch_arguments([
|
267
266
|
"-secretFeatureEnabled YES",
|
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.61.0
|
4
|
+
version: 2.61.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felix Krause
|
@@ -828,6 +828,8 @@ files:
|
|
828
828
|
- deliver/lib/deliver/upload_price_tier.rb
|
829
829
|
- deliver/lib/deliver/upload_screenshots.rb
|
830
830
|
- fastlane/README.md
|
831
|
+
- fastlane/lib/.DS_Store
|
832
|
+
- fastlane/lib/assets/.DS_Store
|
831
833
|
- fastlane/lib/assets/ActionDetails.md.erb
|
832
834
|
- fastlane/lib/assets/Actions.md.erb
|
833
835
|
- fastlane/lib/assets/AppfileTemplate
|
@@ -845,8 +847,10 @@ files:
|
|
845
847
|
- fastlane/lib/assets/s3_plist_template.erb
|
846
848
|
- fastlane/lib/assets/s3_version_template.erb
|
847
849
|
- fastlane/lib/fastlane.rb
|
850
|
+
- fastlane/lib/fastlane/.DS_Store
|
848
851
|
- fastlane/lib/fastlane/action.rb
|
849
852
|
- fastlane/lib/fastlane/action_collector.rb
|
853
|
+
- fastlane/lib/fastlane/actions/.DS_Store
|
850
854
|
- fastlane/lib/fastlane/actions/README.md
|
851
855
|
- fastlane/lib/fastlane/actions/actions_helper.rb
|
852
856
|
- fastlane/lib/fastlane/actions/adb.rb
|
@@ -891,6 +895,7 @@ files:
|
|
891
895
|
- fastlane/lib/fastlane/actions/deliver.rb
|
892
896
|
- fastlane/lib/fastlane/actions/deploygate.rb
|
893
897
|
- fastlane/lib/fastlane/actions/device_grid/README.md
|
898
|
+
- fastlane/lib/fastlane/actions/docs/.DS_Store
|
894
899
|
- fastlane/lib/fastlane/actions/docs/assets/FrameitGit.gif
|
895
900
|
- fastlane/lib/fastlane/actions/docs/assets/MacExample.png
|
896
901
|
- fastlane/lib/fastlane/actions/docs/assets/PEMRecording.gif
|
@@ -1497,24 +1502,24 @@ metadata:
|
|
1497
1502
|
post_install_message:
|
1498
1503
|
rdoc_options: []
|
1499
1504
|
require_paths:
|
1500
|
-
- spaceship/lib
|
1501
|
-
- scan/lib
|
1502
|
-
- sigh/lib
|
1503
|
-
- snapshot/lib
|
1504
|
-
- screengrab/lib
|
1505
|
-
- fastlane/lib
|
1506
1505
|
- cert/lib
|
1507
|
-
-
|
1508
|
-
- gym/lib
|
1509
|
-
- produce/lib
|
1506
|
+
- credentials_manager/lib
|
1510
1507
|
- deliver/lib
|
1511
|
-
-
|
1512
|
-
-
|
1508
|
+
- fastlane/lib
|
1509
|
+
- fastlane_core/lib
|
1513
1510
|
- frameit/lib
|
1514
|
-
-
|
1511
|
+
- gym/lib
|
1512
|
+
- match/lib
|
1513
|
+
- pem/lib
|
1515
1514
|
- pilot/lib
|
1516
1515
|
- precheck/lib
|
1517
|
-
-
|
1516
|
+
- produce/lib
|
1517
|
+
- scan/lib
|
1518
|
+
- screengrab/lib
|
1519
|
+
- sigh/lib
|
1520
|
+
- snapshot/lib
|
1521
|
+
- spaceship/lib
|
1522
|
+
- supply/lib
|
1518
1523
|
required_ruby_version: !ruby/object:Gem::Requirement
|
1519
1524
|
requirements:
|
1520
1525
|
- - ">="
|
@@ -1522,14 +1527,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
1522
1527
|
version: 2.0.0
|
1523
1528
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
1524
1529
|
requirements:
|
1525
|
-
- - "
|
1530
|
+
- - ">="
|
1526
1531
|
- !ruby/object:Gem::Version
|
1527
|
-
version:
|
1532
|
+
version: '0'
|
1528
1533
|
requirements: []
|
1529
1534
|
rubyforge_project:
|
1530
|
-
rubygems_version: 2.
|
1535
|
+
rubygems_version: 2.6.10
|
1531
1536
|
signing_key:
|
1532
1537
|
specification_version: 4
|
1533
1538
|
summary: The easiest way to automate beta deployments and releases for your iOS and
|
1534
1539
|
Android apps
|
1535
1540
|
test_files: []
|
1541
|
+
has_rdoc:
|