fastlane 2.61.0.beta.20171006010004 → 2.61.0.beta.20171007010004

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +6 -161
  3. data/cert/README.md +7 -166
  4. data/deliver/README.md +7 -287
  5. data/deliver/lib/deliver/runner.rb +1 -1
  6. data/fastlane/README.md +7 -209
  7. data/fastlane/lib/fastlane/actions/cocoapods.rb +27 -8
  8. data/fastlane/lib/fastlane/actions/docs/assets/FrameitGit.gif +0 -0
  9. data/fastlane/lib/fastlane/actions/docs/assets/MacExample.png +0 -0
  10. data/fastlane/lib/fastlane/actions/docs/assets/PEMRecording.gif +0 -0
  11. data/fastlane/lib/fastlane/actions/docs/assets/PilotTextTransparent.png +0 -0
  12. data/fastlane/lib/fastlane/actions/docs/assets/PilotTextTransparentSmall.png +0 -0
  13. data/fastlane/lib/fastlane/actions/docs/assets/PilotTextWhite.png +0 -0
  14. data/fastlane/lib/fastlane/actions/docs/assets/PilotTransparent.png +0 -0
  15. data/fastlane/lib/fastlane/actions/docs/assets/QuickLookScreenshot.png +0 -0
  16. data/fastlane/lib/fastlane/actions/docs/assets/ScreenshotsBig.png +0 -0
  17. data/fastlane/lib/fastlane/actions/docs/assets/ScreenshotsOverview.png +0 -0
  18. data/fastlane/lib/fastlane/actions/docs/assets/SignErrors.png +0 -0
  19. data/fastlane/lib/fastlane/actions/docs/assets/UDIDPrint.png +0 -0
  20. data/fastlane/lib/fastlane/actions/docs/assets/frameit.png +0 -0
  21. data/fastlane/lib/fastlane/actions/docs/assets/github_repo.png +0 -0
  22. data/fastlane/lib/fastlane/actions/docs/assets/htmlPage.png +0 -0
  23. data/fastlane/lib/fastlane/actions/docs/assets/htmlPagePreview.jpg +0 -0
  24. data/fastlane/lib/fastlane/actions/docs/assets/htmlPagePreviewFade.jpg +0 -0
  25. data/fastlane/lib/fastlane/actions/docs/assets/match.png +0 -0
  26. data/fastlane/lib/fastlane/actions/docs/assets/match_appstore_small.gif +0 -0
  27. data/fastlane/lib/fastlane/actions/docs/assets/match_init.gif +0 -0
  28. data/fastlane/lib/fastlane/actions/docs/assets/match_nuke.gif +0 -0
  29. data/fastlane/lib/fastlane/actions/docs/assets/pem.png +0 -0
  30. data/fastlane/lib/fastlane/actions/docs/assets/pilot.ai +5377 -16
  31. data/fastlane/lib/fastlane/actions/docs/assets/precheck.gif +0 -0
  32. data/fastlane/lib/fastlane/actions/docs/assets/precheck.png +0 -0
  33. data/fastlane/lib/fastlane/actions/docs/assets/produce.png +0 -0
  34. data/fastlane/lib/fastlane/actions/docs/assets/running-screengrab.gif +0 -0
  35. data/fastlane/lib/fastlane/actions/docs/assets/scan.png +0 -0
  36. data/fastlane/lib/fastlane/actions/docs/assets/scanHTML.png +0 -0
  37. data/fastlane/lib/fastlane/actions/docs/assets/scanHTMLFailing.png +0 -0
  38. data/fastlane/lib/fastlane/actions/docs/assets/scanScreenshot.png +0 -0
  39. data/fastlane/lib/fastlane/actions/docs/assets/screengrab.png +0 -0
  40. data/fastlane/lib/fastlane/actions/docs/assets/sigh.png +0 -0
  41. data/fastlane/lib/fastlane/actions/docs/assets/sighRecording.gif +0 -0
  42. data/fastlane/lib/fastlane/actions/docs/assets/slack.png +0 -0
  43. data/fastlane/lib/fastlane/actions/docs/assets/snapshot.gif +0 -0
  44. data/fastlane/lib/fastlane/actions/docs/assets/snapshot.png +0 -0
  45. data/fastlane/lib/fastlane/actions/docs/assets/supply.png +0 -0
  46. data/fastlane/lib/fastlane/actions/docs/assets/testSummary.png +0 -0
  47. data/fastlane/lib/fastlane/actions/docs/cert.md +2 -4
  48. data/fastlane/lib/fastlane/actions/docs/deliver.md +1 -3
  49. data/fastlane/lib/fastlane/actions/docs/frameit.md +215 -0
  50. data/fastlane/lib/fastlane/actions/docs/gym.md +17 -17
  51. data/fastlane/lib/fastlane/actions/docs/match.md +352 -0
  52. data/fastlane/lib/fastlane/actions/docs/pem.md +120 -0
  53. data/fastlane/lib/fastlane/actions/docs/pilot.md +218 -0
  54. data/fastlane/lib/fastlane/actions/docs/precheck.md +97 -0
  55. data/fastlane/lib/fastlane/actions/docs/produce.md +227 -0
  56. data/fastlane/lib/fastlane/actions/docs/scan.md +145 -0
  57. data/fastlane/lib/fastlane/actions/docs/screengrab.md +145 -0
  58. data/fastlane/lib/fastlane/actions/docs/sigh.md +187 -0
  59. data/fastlane/lib/fastlane/actions/docs/snapshot.md +333 -0
  60. data/fastlane/lib/fastlane/actions/docs/supply.md +144 -0
  61. data/fastlane/lib/fastlane/plugins/plugin_manager.rb +5 -0
  62. data/fastlane/lib/fastlane/setup/setup_ios.rb +2 -0
  63. data/fastlane/lib/fastlane/version.rb +1 -1
  64. data/frameit/README.md +7 -290
  65. data/gym/README.md +7 -300
  66. data/match/README.md +7 -420
  67. data/match/lib/match/generator.rb +1 -0
  68. data/match/lib/match/git_helper.rb +31 -12
  69. data/match/lib/match/runner.rb +11 -6
  70. data/pem/README.md +7 -188
  71. data/pilot/README.md +7 -285
  72. data/pilot/lib/pilot/build_manager.rb +13 -10
  73. data/precheck/README.md +7 -171
  74. data/produce/README.md +7 -294
  75. data/scan/README.md +7 -219
  76. data/screengrab/README.md +7 -192
  77. data/sigh/README.md +7 -262
  78. data/snapshot/README.md +7 -408
  79. data/snapshot/lib/snapshot/reset_simulators.rb +4 -2
  80. data/spaceship/lib/spaceship/test_flight/build.rb +1 -1
  81. data/supply/README.md +7 -219
  82. metadata +52 -2
@@ -185,8 +185,13 @@ module Fastlane
185
185
  def update_dependencies!
186
186
  puts "Updating plugin dependencies..."
187
187
  ensure_plugins_attached!
188
+ plugins = available_plugins
189
+ if plugins.empty?
190
+ UI.user_error!("No plugins are installed")
191
+ end
188
192
  with_clean_bundler_env do
189
193
  cmd = "bundle update"
194
+ cmd << " #{plugins.join(' ')}"
190
195
  cmd << " --quiet" unless FastlaneCore::Globals.verbose?
191
196
  cmd << " && echo 'Successfully updated plugins'"
192
197
  UI.command(cmd) if FastlaneCore::Globals.verbose?
@@ -259,6 +259,8 @@ module Fastlane
259
259
  require 'deliver'
260
260
  require 'deliver/setup'
261
261
  options = FastlaneCore::Configuration.create(Deliver::Options.available_options, {})
262
+ options[:run_precheck_before_submit] = false # precheck doesn't need to run during init
263
+
262
264
  Deliver::Runner.new(options) # to login...
263
265
  Deliver::Setup.new.run(options)
264
266
  end
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.61.0.beta.20171006010004'.freeze
2
+ VERSION = '2.61.0.beta.20171007010004'.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
  end
data/frameit/README.md CHANGED
@@ -1,300 +1,17 @@
1
1
  <h3 align="center">
2
- <a href="https://github.com/fastlane/fastlane/tree/master/fastlane">
3
- <img src="../fastlane/assets/fastlane.png" width="150" />
2
+ <a href="https://docs.fastlane.tools/actions/frameit">
3
+ <img src="https://raw.githubusercontent.com/fastlane/fastlane/master/fastlane/assets/fastlane.png" width="100" />
4
4
  <br />
5
5
  fastlane
6
6
  </a>
7
7
  </h3>
8
- <p align="center">
9
- <a href="https://github.com/fastlane/fastlane/tree/master/deliver">deliver</a> &bull;
10
- <a href="https://github.com/fastlane/fastlane/tree/master/snapshot">snapshot</a> &bull;
11
- <b>frameit</b> &bull;
12
- <a href="https://github.com/fastlane/fastlane/tree/master/pem">pem</a> &bull;
13
- <a href="https://github.com/fastlane/fastlane/tree/master/sigh">sigh</a> &bull;
14
- <a href="https://github.com/fastlane/fastlane/tree/master/produce">produce</a> &bull;
15
- <a href="https://github.com/fastlane/fastlane/tree/master/cert">cert</a> &bull;
16
- <a href="https://github.com/fastlane/fastlane/tree/master/spaceship">spaceship</a> &bull;
17
- <a href="https://github.com/fastlane/fastlane/tree/master/pilot">pilot</a> &bull;
18
- <a href="https://github.com/fastlane/boarding">boarding</a> &bull;
19
- <a href="https://github.com/fastlane/fastlane/tree/master/gym">gym</a> &bull;
20
- <a href="https://github.com/fastlane/fastlane/tree/master/scan">scan</a> &bull;
21
- <a href="https://github.com/fastlane/fastlane/tree/master/match">match</a> &bull;
22
- <a href="https://github.com/fastlane/fastlane/tree/master/precheck">precheck</a>
23
- </p>
24
-
25
- -------
26
-
27
- <p align="center">
28
- <img src="assets/frameit.png" height="110">
29
- </p>
30
-
31
- frameit
32
- ============
33
-
34
- [![Twitter: @KauseFx](https://img.shields.io/badge/contact-@FastlaneTools-blue.svg?style=flat)](https://twitter.com/FastlaneTools)
35
- [![License](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/fastlane/fastlane/blob/master/frameit/LICENSE)
36
-
37
- ###### Quickly put your screenshots into the right device frames
38
-
39
- `frameit` allows you to put a gorgeous device frame around your iOS and macOS screenshots just by running one simple command. Use `frameit` to prepare perfect screenshots for the App Store, your website, QA or emails.
40
-
41
-
42
- Get in contact with the developer on Twitter: [@FastlaneTools](https://twitter.com/FastlaneTools)
43
8
 
44
- -------
9
+ ------
45
10
 
46
11
  <p align="center">
47
- <a href="#features">Features</a> &bull;
48
- <a href="#installation">Installation</a> &bull;
49
- <a href="#usage">Usage</a> &bull;
50
- <a href="#tips">Tips</a> &bull;
51
- <a href="#need-help">Need help?</a>
12
+ <a href="https://docs.fastlane.tools/actions/frameit">
13
+ <img src="https://raw.githubusercontent.com/fastlane/fastlane/master/frameit/assets/frameit.png" height="110">
14
+ </a>
52
15
  </p>
53
16
 
54
- -------
55
-
56
- <h5 align="center"><code>frameit</code> is part of <a href="https://fastlane.tools">fastlane</a>: The easiest way to automate beta deployments and releases for your iOS and Android apps.</h5>
57
-
58
-
59
- # Features
60
-
61
- Put a gorgeous device frame around your iOS and macOS screenshots just by running one simple command. Support for:
62
- - iPhone, iPad and Mac
63
- - Portrait and Landscape modes
64
- - Several colors
65
-
66
- The complete and updated list of supported devices and colors can be found [here](https://github.com/fastlane/frameit-frames/tree/gh-pages/latest)
67
-
68
- ##### [Do you like fastlane? Be the first to know about updates and new fastlane tools](https://tinyletter.com/fastlane-tools)
69
-
70
- Here is a nice gif, that shows ```frameit``` in action:
71
-
72
- ![assets/FrameitGit.gif](assets/FrameitGit.gif?raw=1)
73
-
74
- ### Results
75
-
76
- ![assets/ScreenshotsBig.png](assets/ScreenshotsBig.png?raw=1)
77
-
78
- -------
79
-
80
- ![assets/ScreenshotsOverview.png](assets/ScreenshotsOverview.png?raw=1)
81
-
82
- -------
83
-
84
- ![assets/MacExample.png](assets/MacExample.png?raw=1)
85
-
86
- <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.
87
-
88
- # Installation
89
-
90
- Make sure, you have the commandline tools installed
91
-
92
- xcode-select --install
93
-
94
- Install the gem
95
-
96
- sudo gem install fastlane
97
-
98
- The first time that ```frameit``` is executed the frames will be downloaded automatically. Originally the frames are coming from [Facebook frameset](http://facebook.design/devices) and they are kept on this repo: https://github.com/fastlane/frameit-frames
99
-
100
- More information about this process and how to update the frames can be found [here](https://github.com/fastlane/fastlane/tree/master/frameit/frames_generator)
101
-
102
- # Usage
103
-
104
- Why should you have to use Photoshop, just to add a frame around your screenshots?
105
-
106
- Just navigate to your folder of screenshots and use the following command:
107
-
108
- fastlane frameit
109
-
110
- To use the silver version of the frames:
111
-
112
- fastlane frameit silver
113
-
114
- To download the latest frames
115
-
116
- fastlane frameit download_frames
117
-
118
- When using `frameit` without titles on top, the screenshots will have the full resolution, which means they can't be uploaded to the App Store directly. They are supposed to be used for websites, print media and emails. Check out the section below to use the screenshots for the App Store.
119
-
120
- # Titles and Background (optional)
121
-
122
- With `frameit` 2.0 you are now able to add a custom background, title and text colors to your screenshots.
123
-
124
- A working example can be found in the [fastlane examples](https://github.com/fastlane/examples/tree/master/MindNode/screenshots) project.
125
-
126
- #### `Framefile.json`
127
-
128
- Use it to define the general information:
129
-
130
- ```json
131
- {
132
- "device_frame_version": "latest",
133
- "default": {
134
- "keyword": {
135
- "font": "./fonts/MyFont-Rg.otf"
136
- },
137
- "title": {
138
- "font": "./fonts/MyFont-Th.otf",
139
- "color": "#545454"
140
- },
141
- "background": "./background.jpg",
142
- "padding": 50,
143
- "show_complete_frame": false,
144
- "stack_title" : false,
145
- "title_below_image": true
146
- },
147
-
148
- "data": [
149
- {
150
- "filter": "Brainstorming",
151
- "keyword": {
152
- "color": "#d21559"
153
- }
154
- },
155
- {
156
- "filter": "Organizing",
157
- "keyword": {
158
- "color": "#feb909"
159
- }
160
- },
161
- {
162
- "filter": "Sharing",
163
- "keyword": {
164
- "color": "#aa4dbc"
165
- }
166
- },
167
- {
168
- "filter": "Styling",
169
- "keyword": {
170
- "color": "#31bb48"
171
- }
172
- }
173
- ]
174
- }
175
- ```
176
- The `stack_title` value specifies whether `frameit` should display the keyword above the title when both keyword and title are defined.
177
-
178
- The `show_complete_frame` value specifies whether `frameit` should shrink the device and frame so that they show in full in the framed screenshot. If it is false, then they can hang over the bottom of the screenshot.
179
-
180
- The `title_below_image` value specifies whether `frameit` should place the title below the screenshot. If it is false, it will be placed above the screenshot.
181
-
182
- The `filter` value is a part of the screenshot named for which the given option should be used. If a screenshot is named `iPhone5_Brainstorming.png` the first entry in the `data` array will be used.
183
-
184
- You can find a more complex [configuration](https://github.com/fastlane/examples/blob/master/MindNode/screenshots/Framefile.json) to also support Chinese, Japanese and Korean languages.
185
-
186
- The `Framefile.json` should be in the `screenshots` folder, as seen in the [example](https://github.com/fastlane/examples/tree/master/MindNode/screenshots).
187
-
188
- #### `.strings` files
189
-
190
- To define the title and optionally the keyword, put two `.strings` files into the language folder (e.g. [en-US in the example project](https://github.com/fastlane/examples/tree/master/MindNode/screenshots/en-US))
191
-
192
- The `keyword.strings` and `title.strings` are standard `.strings` file you already use for your iOS apps, making it easy to use your existing translation service to get localized titles.
193
-
194
- **Note:** These `.strings` files **MUST** be utf-16 encoded (UTF-16 BE with BOM). They also must begin with an empty line. If you are having trouble see [issue #1740](https://github.com/fastlane/fastlane/issues/1740)
195
-
196
- **Note:** You **MUST** provide a background if you want titles. `frameit` will not add the tiles if a background is not specified.
197
-
198
- #### Uploading screenshots to iTC
199
-
200
- Use [deliver](https://github.com/fastlane/fastlane/tree/master/deliver) to upload all screenshots to iTunes Connect completely automatically :rocket:
201
-
202
- ### Mac
203
-
204
- With `frameit` 2.0 it's possible to also frame macOS Application screenshots. You have to provide the following:
205
-
206
- - The `offset` information so `frameit` knows where to put your screenshots
207
- - A path to a `background`, which should contain both the background and the Mac
208
- - `titleHeight`: The height in px that should be used for the title
209
-
210
- ##### Example
211
- ```json
212
- {
213
- "default": {
214
- "title": {
215
- "color": "#545454"
216
- },
217
- "background": "Mac.jpg",
218
- "offset": {
219
- "offset": "+676+479",
220
- "titleHeight": 320
221
- }
222
- },
223
- "data": [
224
- {
225
- "filter": "Brainstorming",
226
- "keyword": {
227
- "color": "#d21559"
228
- }
229
- }
230
- ]
231
- }
232
- ```
233
-
234
- Check out the [MindNode example project](https://github.com/fastlane/examples/tree/master/MindNode/screenshots).
235
-
236
- # Tips
237
-
238
- ## [`fastlane`](https://fastlane.tools) Toolchain
239
-
240
- - [`fastlane`](https://fastlane.tools): The easiest way to automate beta deployments and releases for your iOS and Android apps
241
- - [`deliver`](https://github.com/fastlane/fastlane/tree/master/deliver): Upload screenshots, metadata and your app to the App Store
242
- - [`snapshot`](https://github.com/fastlane/fastlane/tree/master/snapshot): Automate taking localized screenshots of your iOS app on every device
243
- - [`pem`](https://github.com/fastlane/fastlane/tree/master/pem): Automatically generate and renew your push notification profiles
244
- - [`sigh`](https://github.com/fastlane/fastlane/tree/master/sigh): Because you would rather spend your time building stuff than fighting provisioning
245
- - [`produce`](https://github.com/fastlane/fastlane/tree/master/produce): Create new iOS apps on iTunes Connect and Dev Portal using the command line
246
- - [`cert`](https://github.com/fastlane/fastlane/tree/master/cert): Automatically create and maintain iOS code signing certificates
247
- - [`spaceship`](https://github.com/fastlane/fastlane/tree/master/spaceship): Ruby library to access the Apple Dev Center and iTunes Connect
248
- - [`pilot`](https://github.com/fastlane/fastlane/tree/master/pilot): The best way to manage your TestFlight testers and builds from your terminal
249
- - [`boarding`](https://github.com/fastlane/boarding): The easiest way to invite your TestFlight beta testers
250
- - [`gym`](https://github.com/fastlane/fastlane/tree/master/gym): Building your iOS apps has never been easier
251
- - [`scan`](https://github.com/fastlane/fastlane/tree/master/scan): The easiest way to run tests of your iOS and Mac app
252
- - [`match`](https://github.com/fastlane/fastlane/tree/master/match): Easily sync your certificates and profiles across your team using git
253
- - [`precheck`](https://github.com/fastlane/fastlane/tree/master/precheck): Check your app using a community driven set of App Store review rules to avoid being rejected
254
-
255
- ##### [Do you like fastlane? Be the first to know about updates and new fastlane tools](https://tinyletter.com/fastlane-tools)
256
-
257
- ## Generate localized screenshots
258
- Check out [`snapshot`](https://github.com/fastlane/fastlane/tree/master/snapshot) to automatically generate screenshots using ```UI Automation```.
259
-
260
- ## Alternative location to store device_frames
261
-
262
- Device frames can also be stored in a ```./fastlane/screenshots/devices_frames``` directory if you prefer rather than in the ```~/.frameit/device_frames``` directory. If doing so please be aware that Apple's images are copyrighted and should not be redistributed as part of a repository so you may want to include them in your .gitignore file.
263
-
264
- ## White background of frames
265
-
266
- Some stock images provided by Apple still have a white background instead of a transparent one. You'll have to edit the Photoshop file to remove the white background, delete the generated `.png` file and run `fastlane frameit` again.
267
-
268
- ## Use a clean status bar
269
- You can use [SimulatorStatusMagic](https://github.com/shinydevelopment/SimulatorStatusMagic) to clean up the status bar.
270
-
271
- ## Gray artifacts around text
272
-
273
- If you run into any quality issues, like having a border around the font, it usually helps to just re-install `imagemagick`. You can do so by running
274
-
275
- ```sh
276
- brew uninstall imagemagick
277
- brew install imagemagick
278
- ```
279
-
280
- ## Uninstall
281
- - ```sudo gem uninstall fastlane```
282
- - ```rm -rf ~/.frameit```
283
-
284
- # Need help?
285
-
286
- Before submitting a new GitHub issue, please make sure to
287
-
288
- - Check out [docs.fastlane.tools](https://docs.fastlane.tools)
289
- - Check out the README pages on [this repo](https://github.com/fastlane/fastlane)
290
- - Search for [existing GitHub issues](https://github.com/fastlane/fastlane/issues)
291
-
292
- If the above doesn't help, please [submit an issue](https://github.com/fastlane/fastlane/issues) on GitHub and provide information about your setup, in particular the output of the `fastlane env` command.
293
-
294
- # Code of Conduct
295
- Help us keep `frameit` open and inclusive. Please read and follow our [Code of Conduct](https://github.com/fastlane/fastlane/blob/master/CODE_OF_CONDUCT.md).
296
-
297
- # License
298
- This project is licensed under the terms of the MIT license. See the LICENSE file.
299
-
300
- > This project and all fastlane tools are in no way affiliated with Apple Inc. This project is open source under the MIT license, which means you have full access to the source code and can modify it to fit your own needs. All fastlane tools run on your own computer or server, so your credentials or other sensitive information will never leave your own computer. You are responsible for how you use fastlane tools.
17
+ <h3 align="center">The <i>frameit</i> docs were moved to <a href='https://docs.fastlane.tools/actions/frameit'>docs.fastlane.tools</a></h3>
data/gym/README.md CHANGED
@@ -1,310 +1,17 @@
1
1
  <h3 align="center">
2
- <a href="https://github.com/fastlane/fastlane/tree/master/fastlane">
3
- <img src="../fastlane/assets/fastlane.png" width="150" />
2
+ <a href="https://docs.fastlane.tools/actions/gym">
3
+ <img src="https://raw.githubusercontent.com/fastlane/fastlane/master/fastlane/assets/fastlane.png" width="100" />
4
4
  <br />
5
5
  fastlane
6
6
  </a>
7
7
  </h3>
8
- <p align="center">
9
- <a href="https://github.com/fastlane/fastlane/tree/master/deliver">deliver</a> &bull;
10
- <a href="https://github.com/fastlane/fastlane/tree/master/snapshot">snapshot</a> &bull;
11
- <a href="https://github.com/fastlane/fastlane/tree/master/frameit">frameit</a> &bull;
12
- <a href="https://github.com/fastlane/fastlane/tree/master/pem">pem</a> &bull;
13
- <a href="https://github.com/fastlane/fastlane/tree/master/sigh">sigh</a> &bull;
14
- <a href="https://github.com/fastlane/fastlane/tree/master/produce">produce</a> &bull;
15
- <a href="https://github.com/fastlane/fastlane/tree/master/cert">cert</a> &bull;
16
- <a href="https://github.com/fastlane/fastlane/tree/master/spaceship">spaceship</a> &bull;
17
- <a href="https://github.com/fastlane/fastlane/tree/master/pilot">pilot</a> &bull;
18
- <a href="https://github.com/fastlane/boarding">boarding</a> &bull;
19
- <b>gym</b> &bull;
20
- <a href="https://github.com/fastlane/fastlane/tree/master/scan">scan</a> &bull;
21
- <a href="https://github.com/fastlane/fastlane/tree/master/match">match</a> &bull;
22
- <a href="https://github.com/fastlane/fastlane/tree/master/precheck">precheck</a>
23
- </p>
24
-
25
- -------
26
-
27
- <p align="center">
28
- <img src="assets/gym.png" height="110">
29
- </p>
30
8
 
31
- gym
32
- ============
33
-
34
- [![Twitter: @KauseFx](https://img.shields.io/badge/contact-@FastlaneTools-blue.svg?style=flat)](https://twitter.com/FastlaneTools)
35
- [![License](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/fastlane/fastlane/blob/master/gym/LICENSE)
36
-
37
- ###### Building your app has never been easier
38
-
39
- Get in contact with the developer on Twitter: [@FastlaneTools](https://twitter.com/FastlaneTools)
40
-
41
- -------
9
+ ------
42
10
 
43
11
  <p align="center">
44
- <a href="#whats-gym">Features</a> &bull;
45
- <a href="#installation">Installation</a> &bull;
46
- <a href="#usage">Usage</a> &bull;
47
- <a href="#tips">Tips</a> &bull;
48
- <a href="#need-help">Need help?</a>
12
+ <a href="https://docs.fastlane.tools/actions/gym">
13
+ <img src="https://raw.githubusercontent.com/fastlane/fastlane/master/gym/assets/gym.png" height="110">
14
+ </a>
49
15
  </p>
50
16
 
51
- -------
52
-
53
- <h5 align="center"><code>gym</code> is part of <a href="https://fastlane.tools">fastlane</a>: The easiest way to automate beta deployments and releases for your iOS and Android apps.</h5>
54
-
55
- # What's gym?
56
-
57
- `gym` builds and packages iOS apps for you. It takes care of all the heavy lifting and makes it super easy to generate a signed `ipa` or `app` file :muscle:
58
-
59
- `gym` is a replacement for [shenzhen](https://github.com/nomad/shenzhen).
60
-
61
- ### Before `gym`
62
-
63
- ```
64
- xcodebuild clean archive -archivePath build/MyApp \
65
- -scheme MyApp
66
- xcodebuild -exportArchive \
67
- -exportFormat ipa \
68
- -archivePath "build/MyApp.xcarchive" \
69
- -exportPath "build/MyApp.ipa" \
70
- -exportProvisioningProfile "ProvisioningProfileName"
71
- ```
72
-
73
- ### With `gym`
74
-
75
- ```
76
- fastlane gym
77
- ```
78
-
79
- ### Why `gym`?
80
-
81
- `gym` uses the latest APIs to build and sign your application which results in much faster build times.
82
-
83
- | | Gym Features |
84
- |----------|----------------|
85
- :rocket: | `gym` builds 30% faster than other build tools like [shenzhen](https://github.com/nomad/shenzhen)
86
- :checkered_flag: | Beautiful inline build output
87
- :book: | Helps you resolve common build errors like code signing issues
88
- :mountain_cableway: | Sensible defaults: Automatically detect the project, its schemes and more
89
- :link: | Works perfectly with [fastlane](https://fastlane.tools) and other tools
90
- :package: | Automatically generates an `ipa` and a compressed `dSYM` file
91
- :bullettrain_side: | Don't remember any complicated build commands, just `gym`
92
- :wrench: | Easy and dynamic configuration using parameters and environment variables
93
- :floppy_disk: | Store common build settings in a `Gymfile`
94
- :outbox_tray: | All archives are stored and accessible in the Xcode Organizer
95
- :computer: | Supports both iOS and Mac applications
96
-
97
- ![assets/gymScreenshot.png](assets/gymScreenshot.png)
98
-
99
- -----
100
-
101
- ![assets/gym.gif](assets/gym.gif)
102
-
103
- # Installation
104
-
105
- sudo gem install fastlane
106
-
107
- Make sure, you have the latest version of the Xcode command line tools installed:
108
-
109
- xcode-select --install
110
-
111
- # Usage
112
-
113
- fastlane gym
114
-
115
- That's all you need to build your application. If you want more control, here are some available parameters:
116
-
117
- fastlane gym --workspace "Example.xcworkspace" --scheme "AppName" --clean
118
-
119
- If you need to use a different xcode install, use xcode-select or define DEVELOPER_DIR:
120
-
121
- DEVELOPER_DIR="/Applications/Xcode6.2.app" gym
122
-
123
- For a list of all available parameters use
124
-
125
- fastlane gym --help
126
-
127
- If you run into any issues, use the `verbose` mode to get more information
128
-
129
- fastlane gym --verbose
130
-
131
- Set the right export method if you're not uploading to App Store or TestFlight:
132
-
133
- fastlane gym --export_method ad-hoc
134
-
135
- To pass boolean parameters make sure to use `gym` like this:
136
-
137
- fastlane gym --include_bitcode true --include_symbols false
138
-
139
- To access the raw `xcodebuild` output open `~/Library/Logs/gym`
140
-
141
- # Gymfile
142
-
143
- Since you might want to manually trigger a new build but don't want to specify all the parameters every time, you can store your defaults in a so called `Gymfile`.
144
-
145
- Run `fastlane gym init` to create a new configuration file. Example:
146
-
147
- ```ruby
148
- scheme "Example"
149
-
150
- sdk "iphoneos9.0"
151
-
152
- clean true
153
-
154
- output_directory "./build" # store the ipa in this folder
155
- output_name "MyApp" # the name of the ipa file
156
- ```
157
-
158
- ## Export options
159
-
160
- Since Xcode 7, `gym` is using new Xcode API which allows us to specify export options using `plist` file. By default `gym` creates this file for you and you are able to modify some parameters by using `export_method`, `export_team_id`, `include_symbols` or `include_bitcode`. If you want to have more options, like creating manifest file for app thinning, you can provide your own `plist` file:
161
-
162
- ```ruby
163
- export_options "./ExportOptions.plist"
164
- ```
165
-
166
- or you can provide hash of values directly in the `Gymfile`:
167
-
168
- ```ruby
169
- export_options(
170
- method: "ad-hoc",
171
- manifest: {
172
- appURL: "https://example.com/My App.ipa",
173
- },
174
- thinning: "<thin-for-all-variants>"
175
- )
176
- ```
177
-
178
- Optional: If _gym_ can't automatically detect the provisioning profiles to use, you can pass a mapping of bundle identifiers to provisioning profiles:
179
-
180
- ```ruby
181
- export_options(
182
- method: "app-store",
183
- provisioningProfiles: {
184
- "com.example.bundleid" => "Provisioning Profile Name",
185
- "com.example.bundleid2" => "Provisioning Profile Name 2"
186
- }
187
- )
188
- ```
189
-
190
- **Note**: If you use [fastlane](https://fastlane.tools) with [match](https://fastlane.tools/match) you don't need to provide those values manually.
191
-
192
- For the list of available options run `xcodebuild -help`.
193
-
194
- ## Setup code signing
195
-
196
- - [More information on how to get started with codesigning](https://docs.fastlane.tools/codesigning/getting-started/)
197
- - [Docs on how to set up your Xcode project](https://docs.fastlane.tools/codesigning/xcode-project/)
198
-
199
- ## Automating the whole process
200
-
201
- `gym` works great together with [fastlane](https://fastlane.tools), which connects all deployment tools into one streamlined workflow.
202
-
203
- Using `fastlane` you can define a configuration like
204
-
205
- ```ruby
206
- lane :beta do
207
- scan
208
- gym(scheme: "MyApp")
209
- crashlytics
210
- end
211
-
212
- # error block is executed when a error occurs
213
- error do |lane, exception|
214
- slack(
215
- # message with short human friendly message
216
- message: exception.to_s,
217
- success: false,
218
- # Output containing extended log output
219
- payload: { "Output" => exception.error_info.to_s }
220
- )
221
- end
222
- ```
223
-
224
- When gym raises an error the `error_info` property will contain the process output
225
- in case you want to display the error in 3rd party tools such as Slack.
226
-
227
- You can then easily switch between the beta provider (e.g. `testflight`, `hockey`, `s3` and more).
228
-
229
- For more information visit the [fastlane GitHub page](https://github.com/fastlane/fastlane/tree/master/fastlane).
230
-
231
- # How does it work?
232
-
233
- `gym` uses the latest APIs to build and sign your application. The 2 main components are
234
-
235
- - `xcodebuild`
236
- - [xcpretty](https://github.com/supermarin/xcpretty)
237
-
238
- When you run `gym` without the `--silent` mode it will print out every command it executes.
239
-
240
- To build the archive `gym` uses the following command:
241
-
242
- ```
243
- set -o pipefail && \
244
- xcodebuild -scheme 'Example' \
245
- -project './Example.xcodeproj' \
246
- -configuration 'Release' \
247
- -destination 'generic/platform=iOS' \
248
- -archivePath '/Users/felixkrause/Library/Developer/Xcode/Archives/2015-08-11/ExampleProductName 2015-08-11 18.15.30.xcarchive' \
249
- archive | xcpretty
250
- ```
251
-
252
- After building the archive it is being checked by `gym`. If it's valid, it gets packaged up and signed into an `ipa` file.
253
-
254
- `gym` automatically chooses a different packaging method depending on the version of Xcode you're using.
255
-
256
- ### Xcode 7 and above
257
-
258
- ```
259
- /usr/bin/xcrun path/to/xcbuild-safe.sh -exportArchive \
260
- -exportOptionsPlist '/tmp/gym_config_1442852529.plist' \
261
- -archivePath '/Users/fkrause/Library/Developer/Xcode/Archives/2015-09-21/App 2015-09-21 09.21.56.xcarchive' \
262
- -exportPath '/tmp/1442852529'
263
- ```
264
-
265
- `gym` makes use of the new Xcode 7 API which allows us to specify the export options using a `plist` file. You can find more information about the available options by running `xcodebuild --help`.
266
-
267
- Using this method there are no workarounds for WatchKit or Swift required, as it uses the same technique Xcode uses when exporting your binary.
268
-
269
- Note: the [xcbuild-safe.sh script](https://github.com/fastlane/fastlane/tree/master/gym/lib/assets/wrap_xcodebuild/xcbuild-safe.sh) wraps around xcodebuild to workaround some incompatibilities.
270
-
271
-
272
- # Tips
273
- ## [`fastlane`](https://fastlane.tools) Toolchain
274
-
275
- - [`fastlane`](https://fastlane.tools): The easiest way to automate beta deployments and releases for your iOS and Android apps
276
- - [`deliver`](https://github.com/fastlane/fastlane/tree/master/deliver): Upload screenshots, metadata and your app to the App Store
277
- - [`snapshot`](https://github.com/fastlane/fastlane/tree/master/snapshot): Automate taking localized screenshots of your iOS app on every device
278
- - [`frameit`](https://github.com/fastlane/fastlane/tree/master/frameit): Quickly put your screenshots into the right device frames
279
- - [`pem`](https://github.com/fastlane/fastlane/tree/master/pem): Automatically generate and renew your push notification profiles
280
- - [`produce`](https://github.com/fastlane/fastlane/tree/master/produce): Create new iOS apps on iTunes Connect and Dev Portal using the command line
281
- - [`cert`](https://github.com/fastlane/fastlane/tree/master/cert): Automatically create and maintain iOS code signing certificates
282
- - [`spaceship`](https://github.com/fastlane/fastlane/tree/master/spaceship): Ruby library to access the Apple Dev Center and iTunes Connect
283
- - [`pilot`](https://github.com/fastlane/fastlane/tree/master/pilot): The best way to manage your TestFlight testers and builds from your terminal
284
- - [`boarding`](https://github.com/fastlane/boarding): The easiest way to invite your TestFlight beta testers
285
- - [`scan`](https://github.com/fastlane/fastlane/tree/master/scan): The easiest way to run tests of your iOS and Mac app
286
- - [`match`](https://github.com/fastlane/fastlane/tree/master/match): Easily sync your certificates and profiles across your team using git
287
- - [`precheck`](https://github.com/fastlane/fastlane/tree/master/precheck): Check your app using a community driven set of App Store review rules to avoid being rejected
288
-
289
- ##### [Do you like fastlane? Be the first to know about updates and new fastlane tools](https://tinyletter.com/fastlane-tools)
290
-
291
- ## Use the 'Provisioning Quicklook plugin'
292
- Download and install the [Provisioning Plugin](https://github.com/chockenberry/Provisioning).
293
-
294
- # Need help?
295
-
296
- Before submitting a new GitHub issue, please make sure to
297
-
298
- - Check out [docs.fastlane.tools](https://docs.fastlane.tools)
299
- - Check out the README pages on [this repo](https://github.com/fastlane/fastlane)
300
- - Search for [existing GitHub issues](https://github.com/fastlane/fastlane/issues)
301
-
302
- If the above doesn't help, please [submit an issue](https://github.com/fastlane/fastlane/issues) on GitHub and provide information about your setup, in particular the output of the `fastlane env` command.
303
-
304
- # Code of Conduct
305
- Help us keep `gym` open and inclusive. Please read and follow our [Code of Conduct](https://github.com/fastlane/fastlane/blob/master/CODE_OF_CONDUCT.md).
306
-
307
- # License
308
- This project is licensed under the terms of the MIT license. See the LICENSE file.
309
-
310
- > This project and all fastlane tools are in no way affiliated with Apple Inc. This project is open source under the MIT license, which means you have full access to the source code and can modify it to fit your own needs. All fastlane tools run on your own computer or server, so your credentials or other sensitive information will never leave your own computer. You are responsible for how you use fastlane tools.
17
+ <h3 align="center">The <i>gym</i> docs were moved to <a href='https://docs.fastlane.tools/actions/gym'>docs.fastlane.tools</a></h3>