deliver 0.13.5 → 1.0.0.beta1
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 -208
- data/bin/deliver +1 -1
- data/lib/assets/DeliverfileDefault +2 -22
- data/lib/assets/summary.html.erb +27 -39
- data/lib/deliver.rb +16 -14
- data/lib/deliver/app_screenshot.rb +43 -33
- data/lib/deliver/commands_generator.rb +30 -108
- data/lib/deliver/detect_values.rb +23 -0
- data/lib/deliver/download_screenshots.rb +30 -9
- data/lib/deliver/html_generator.rb +7 -8
- data/lib/deliver/options.rb +126 -0
- data/lib/deliver/runner.rb +75 -0
- data/lib/deliver/setup.rb +84 -0
- data/lib/deliver/submit_for_review.rb +60 -0
- data/lib/deliver/upload_assets.rb +22 -0
- data/lib/deliver/upload_metadata.rb +100 -0
- data/lib/deliver/upload_price_tier.rb +21 -0
- data/lib/deliver/upload_screenshots.rb +63 -0
- data/lib/deliver/version.rb +2 -1
- metadata +37 -62
- data/lib/assets/DeliverLanguageMapping.json +0 -187
- data/lib/assets/DeliverfileExample +0 -38
- data/lib/deliver/app.rb +0 -167
- data/lib/deliver/app_metadata.rb +0 -419
- data/lib/deliver/app_metadata_screenshots.rb +0 -189
- data/lib/deliver/deliver_process.rb +0 -426
- data/lib/deliver/deliverer.rb +0 -138
- data/lib/deliver/deliverfile/deliverfile.rb +0 -35
- data/lib/deliver/deliverfile/deliverfile_creator.rb +0 -135
- data/lib/deliver/deliverfile/dsl.rb +0 -142
- data/lib/deliver/dependency_checker.rb +0 -19
- data/lib/deliver/ipa_file_analyser.rb +0 -44
- data/lib/deliver/ipa_uploader.rb +0 -148
- data/lib/deliver/itunes_connect/itunes_connect.rb +0 -12
- data/lib/deliver/itunes_connect/itunes_connect_additional.rb +0 -105
- data/lib/deliver/itunes_connect/itunes_connect_app_icon.rb +0 -41
- data/lib/deliver/itunes_connect/itunes_connect_app_rating.rb +0 -90
- data/lib/deliver/itunes_connect/itunes_connect_apple_watch_app_icon.rb +0 -42
- data/lib/deliver/itunes_connect/itunes_connect_information.rb +0 -34
- data/lib/deliver/itunes_connect/itunes_connect_new_version.rb +0 -67
- data/lib/deliver/itunes_connect/itunes_connect_reader.rb +0 -46
- data/lib/deliver/itunes_connect/itunes_connect_screenshot_fetcher.rb +0 -54
- data/lib/deliver/itunes_connect/itunes_connect_submission.rb +0 -282
- data/lib/deliver/itunes_transporter.rb +0 -221
- data/lib/deliver/metadata_item.rb +0 -94
- data/lib/deliver/testflight.rb +0 -27
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ed7a41394af9241c8a2ed2f2c9c54a5f49321a6f
|
4
|
+
data.tar.gz: 053f44c89fc589950c6c63fa5ca33756fc3e7834
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4223c4244c5252bddef2302e897ec5f51cdf401a565aa71d0d0cdfbf9794cd5be450511e0e3a4826d46c0a52cc8e0072f2379a6b27a8a3351e3450cc3ea07ef3
|
7
|
+
data.tar.gz: d07d9abac75c63994e98d3f2741901760cd77e7c8c99109f0dcc817cabec19f1f418ae8a6a6f0336cc960115e0e3ea15e49087bdc3d29c3bd9ad4eaa28b76c55
|
data/README.md
CHANGED
@@ -43,7 +43,6 @@ Get in contact with the developer on Twitter: [@KrauseFx](https://twitter.com/Kr
|
|
43
43
|
-------
|
44
44
|
<p align="center">
|
45
45
|
<a href="#features">Features</a> •
|
46
|
-
<a href="#testflight">TestFlight</a> •
|
47
46
|
<a href="#installation">Installation</a> •
|
48
47
|
<a href="#quick-start">Quick Start</a> •
|
49
48
|
<a href="#usage">Usage</a> •
|
@@ -64,7 +63,6 @@ Get in contact with the developer on Twitter: [@KrauseFx](https://twitter.com/Kr
|
|
64
63
|
- Store the configuration in git to easily deploy from **any** computer, including your Continuous Integration server (e.g. Jenkins)
|
65
64
|
- Get a PDF preview of the fetched metadata before uploading the app metadata and screenshots to Apple: [Example Preview](https://github.com/krausefx/deliver/blob/master/assets/PDFExample.png?raw=1)
|
66
65
|
- Automatically create new screenshots with [snapshot](https://github.com/KrauseFx/snapshot)
|
67
|
-
- Upload new builds to the new Apple TestFlight
|
68
66
|
|
69
67
|
##### [Like this tool? Be the first to know about updates and new fastlane tools](https://tinyletter.com/krausefx)
|
70
68
|
|
@@ -80,233 +78,39 @@ Make sure, you have the latest version of the Xcode command line tools installed
|
|
80
78
|
|
81
79
|
To create new screenshots automatically, check out my other open source project [snapshot](https://github.com/KrauseFx/snapshot).
|
82
80
|
|
83
|
-
|
84
|
-
|
85
|
-
**New**: To upload builds to TestFlight, use the new [pilot](https://github.com/fastlane/pilot) tool.
|
86
|
-
|
87
|
-
Upload a new build to Apple `TestFlight` use the following command:
|
88
|
-
|
89
|
-
```
|
90
|
-
deliver testflight
|
91
|
-
```
|
92
|
-
|
93
|
-
This will automatically look for an ipa file in the current directory.
|
94
|
-
|
95
|
-
`deliver` currently supports **Internal Testers** only.
|
96
|
-
|
97
|
-
Make sure to increase your build number before building and uploading your app.
|
98
|
-
|
99
|
-
#### More options:
|
100
|
-
|
101
|
-
Specify the `ipa` file, the Apple ID and app identifier to be used:
|
102
|
-
|
103
|
-
```
|
104
|
-
deliver testflight ./my_app.ipa -u felix@krausefx.com -a 862582703
|
105
|
-
```
|
106
|
-
|
107
|
-
To build and upload the ipa in one step, you can use [shenzhen](https://github.com/nomad/shenzhen):
|
108
|
-
|
109
|
-
```
|
110
|
-
ipa build && deliver testflight
|
111
|
-
```
|
112
|
-
|
113
|
-
You can pass the "What to Test" value using the environment variable `DELIVER_WHAT_TO_TEST`:
|
114
|
-
|
115
|
-
```
|
116
|
-
DELIVER_WHAT_TO_TEST="Try the brand new project button" deliver testflight
|
117
|
-
```
|
118
|
-
|
119
|
-
Additional environment variables: `DELIVER_BETA_DESCRIPTION`, `DELIVER_BETA_FEEDBACK_EMAIL`.
|
81
|
+
To upload builds to TestFlight check out [pilot](https://github.com/fastlane/pilot).
|
120
82
|
|
121
83
|
# Quick Start
|
122
84
|
|
123
|
-
|
124
85
|
The guide will create all the necessary files for you, using the existing app metadata from iTunes Connect.
|
125
86
|
|
126
87
|
- ```cd [your_project_folder]```
|
127
88
|
- ```deliver init```
|
128
|
-
-
|
129
|
-
|
130
|
-
|
131
|
-
- Enjoy a good drink, while the computer does all the work for you
|
132
|
-
- When it's a new app: ```n```
|
133
|
-
|
134
|
-
From now on, you can run ```deliver``` to deploy a new update, or just upload new app metadata and screenshots.
|
135
|
-
|
136
|
-
### Customize the ```Deliverfile```
|
137
|
-
Open the ```Deliverfile``` using a text editor and customize it even further. Take a look at the following settings:
|
89
|
+
- Enter your iTunes Connect credentials
|
90
|
+
- Enter your app identifier
|
91
|
+
- Enjoy a good drink, while the computer does all the work for you
|
138
92
|
|
139
|
-
|
140
|
-
- ```unit_tests```: Uncomment the code to run tests. (e.g. using [xctool](https://github.com/facebook/xctool)). It is recommended to use [fastlane](https://fastlane.tools) for running tests.
|
93
|
+
From now on, you can run `deliver` to deploy a new update, or just upload new app metadata and screenshots.
|
141
94
|
|
142
95
|
# Usage
|
143
96
|
|
144
|
-
|
145
|
-
|
146
|
-
Store your configuration in a text file to easily deploy from any computer.
|
147
|
-
|
148
|
-
Run ```deliver init``` to create a new ```Deliverfile```. You can either let the wizard generate a file based on the metadata from iTunes Connect or create one from a template.
|
149
|
-
|
150
|
-
Once you created your configuration, just run ```deliver```.
|
151
|
-
|
152
|
-
All available commands with a short description can be found in [Deliverfile.md](https://github.com/KrauseFx/deliver/blob/master/Deliverfile.md).
|
153
|
-
|
154
|
-
Here are a few examples:
|
155
|
-
#### Upload screenshots to iTunes Connect
|
156
|
-
|
157
|
-
Remove the rest, and use just this format for your ```Deliverfile```.
|
158
|
-
|
159
|
-
```ruby
|
160
|
-
app_identifier "net.sunapps.1"
|
161
|
-
version "1.1"
|
162
|
-
|
163
|
-
screenshots_path "./screenshots"
|
164
|
-
```
|
165
|
-
The screenshots folder must include one subfolder per language (see [Available language codes](#available-language-codes)).
|
166
|
-
|
167
|
-
The screenshots are ordered alphabetically. The best way to sort them is to prepend a number before the actual screenshot name. You can also put Watch screenshots into this folder.
|
168
|
-
|
169
|
-
To let the computer create the screenshots for you, checkout [this section of the README](#automatically-create-screenshots).
|
170
|
-
|
171
|
-
If you want to have the screenshots inside a device frame, with a background and a fancy label on top, you can use [Sketch to App Store](http://sketchtoappstore.com/).
|
172
|
-
|
173
|
-
To download all existing screenshots, use `deliver download_screenshots`.
|
174
|
-
|
175
|
-
#### Update App description, keywords and more
|
176
|
-
|
177
|
-
If you used `deliver init`, take a look at the `./metadata/` folder, which contains your app description, keywords and app title. If you change the content of the files, it will get updated when you run `deliver`.
|
178
|
-
|
179
|
-
#### Upload a new ipa file with a changelog to the App Store
|
180
|
-
This will submit a new update to Apple
|
181
|
-
```ruby
|
182
|
-
ipa do
|
183
|
-
system("ipa build")
|
184
|
-
"./name.ipa"
|
185
|
-
end
|
186
|
-
|
187
|
-
changelog(
|
188
|
-
"en-US" => "This update adds cool new features",
|
189
|
-
"de-DE" => "Dieses Update ist super"
|
190
|
-
)
|
191
|
-
```
|
192
|
-
If you wish to skip automated submission to review you can provide `--skip-deploy` option when calling `deliver`. This will upload the ipa file and app metadata, but will not submit the app for review.
|
193
|
-
|
194
|
-
The changelog is only used for App Store submission, not for TestFlight builds.
|
195
|
-
|
196
|
-
It is recommended to use `deliver` in combination with [fastlane](https://github.com/KrauseFx/fastlane) to build the app using `xcodebuild`.
|
197
|
-
|
198
|
-
#### Upload a new ipa for TestFlight beta testers
|
199
|
-
|
200
|
-
In order to upload an `.ipa` file for Apple TestFlight you need to specify `beta_ipa` path in your `Deliverfile`
|
201
|
-
|
202
|
-
```ruby
|
203
|
-
beta_ipa do
|
204
|
-
system("ipa build")
|
205
|
-
"./name.ipa"
|
206
|
-
end
|
207
|
-
```
|
208
|
-
|
209
|
-
and provide `--beta` option when calling `deliver`. When running `deliver` with the `--beta` flag enabled, it will **not** upload new app metadata.
|
210
|
-
|
211
|
-
#### Implement blocks to run unit tests
|
212
|
-
If you're using [fastlane](http://github.com/krausefx/fastlane), run tests and error blocks there.
|
213
|
-
|
214
|
-
If you only use `deliver`, you can use the following blocks:
|
215
|
-
|
216
|
-
```ruby
|
217
|
-
unit_tests do
|
218
|
-
system("xctool test")
|
219
|
-
end
|
220
|
-
|
221
|
-
success do
|
222
|
-
system("Say 'success'")
|
223
|
-
end
|
224
|
-
|
225
|
-
error do |information|
|
226
|
-
# custom exception handling here
|
227
|
-
raise "Something went wrong: #{information['error']}"
|
228
|
-
end
|
229
|
-
```
|
230
|
-
|
231
|
-
#### Read content from somewhere external (file, web service, ...)
|
232
|
-
```ruby
|
233
|
-
description(
|
234
|
-
"en-US" => File.read("description-en.txt")
|
235
|
-
"de-DE" => open("http://example.com/app_description.txt").read
|
236
|
-
)
|
237
|
-
```
|
238
|
-
|
239
|
-
#### Build and sign the app
|
240
|
-
I'm using [Shenzhen](https://github.com/nomad/shenzhen), but you can use any build tool or custom scripts.
|
241
|
-
```ruby
|
242
|
-
ipa do
|
243
|
-
# Add any code you want, like incrementing the build
|
244
|
-
# number or changing the app identifier
|
245
|
-
|
246
|
-
system("ipa build --verbose") # build your project using Shenzhen
|
247
|
-
"./AppName.ipa" # Tell 'deliver' where it can find the finished ipa file
|
248
|
-
end
|
249
|
-
```
|
250
|
-
|
251
|
-
#### Hide the iTunes Transporter log
|
252
|
-
By default, the transporter log is shown, to be fully transparent. If you prefer to hide it, you can use the following option in your ```Deliverfile``` to disable it for both the upload and the download of metadata:
|
253
|
-
```ruby
|
254
|
-
hide_transporter_output
|
255
|
-
```
|
256
|
-
|
257
|
-
##### What is the ```Deliverfile```?
|
258
|
-
As you can see, the ```Deliverfile``` is a normal Ruby file, which is executed when
|
259
|
-
running a deployment. Therefore it's possible to fully customise the behaviour
|
260
|
-
on a deployment.
|
261
|
-
|
262
|
-
All available commands with a short description can be found in [Deliverfile.md](https://github.com/KrauseFx/deliver/blob/master/Deliverfile.md).
|
263
|
-
|
264
|
-
**Some examples:**
|
265
|
-
|
266
|
-
- Run your own unit tests or integration tests before a deploy (recommended)
|
267
|
-
- Ask the script user for a changelog
|
268
|
-
- Deploy a new version just by starting a Jenkins job
|
269
|
-
- Post the deployment status on Slack
|
270
|
-
- Upload the latest screenshots to your server
|
271
|
-
|
272
|
-
For further actions, check out [fastlane](https://github.com/KrauseFx/fastlane)
|
273
|
-
|
274
|
-
#### Use the exposed Ruby classes
|
275
|
-
Some examples:
|
276
|
-
```ruby
|
277
|
-
require 'deliver'
|
278
|
-
|
279
|
-
app = Deliver::App.new(app_identifier: 'com.krausefx.app')
|
280
|
-
|
281
|
-
app.get_app_status # => Waiting for Review
|
282
|
-
app.create_new_version!("1.4")
|
283
|
-
app.metadata.update_title("en-US" => "iPhone App Title")
|
284
|
-
app.metadata.set_all_screenshots_from_path("./screenshots")
|
285
|
-
app.upload_metadata!
|
286
|
-
app.itc.submit_for_review!(app)
|
287
|
-
|
288
|
-
FastlaneCore::ItunesSearchApi.fetch_by_identifier("net.sunapps.15") # => Fetches public metadata
|
289
|
-
```
|
290
|
-
This project is well documented, check it out on [RubyDoc](http://www.rubydoc.info/github/KrauseFx/deliver/frames).
|
291
|
-
|
97
|
+
TODO
|
292
98
|
|
293
99
|
# Credentials
|
294
100
|
|
295
101
|
A detailed description about your credentials is available on a [separate repo](https://github.com/fastlane/CredentialsManager).
|
296
102
|
|
297
|
-
|
298
103
|
# Can I trust `deliver`?
|
299
104
|
###How does this thing even work? Is magic involved? 🎩###
|
300
105
|
|
301
106
|
`deliver` is fully open source, you can take a look at its source files. It will only modify the content you want to modify using the ```Deliverfile```. Your password will be stored in the Mac OS X keychain, but can also be passed using environment variables. (More information available on [CredentialsManager](https://github.com/fastlane/CredentialsManager))
|
302
107
|
|
303
|
-
Before actually uploading anything to iTunes, ```deliver``` will generate a [
|
108
|
+
Before actually uploading anything to iTunes, ```deliver``` will generate a [HTML summary](https://github.com/krausefx/deliver/blob/master/assets/PDFExample.png?raw=1) of the collected data.
|
304
109
|
|
305
110
|
```deliver``` uses the following techniques under the hood:
|
306
111
|
|
307
|
-
- The iTMSTransporter tool is used to
|
308
|
-
-
|
309
|
-
- The iTunes search API to find missing information about a certain app, like the *apple_id* when you only pass the *bundle_identifier*.
|
112
|
+
- The iTMSTransporter tool is used to upload the binary to iTunes Connect. iTMSTransporter is a command line tool provided by Apple.
|
113
|
+
- For all metadata related actions `deliver` uses [spaceship](https://github.com/fastlane/spaceship)
|
310
114
|
|
311
115
|
# Tips
|
312
116
|
|
@@ -332,9 +136,6 @@ Before actually uploading anything to iTunes, ```deliver``` will generate a [PDF
|
|
332
136
|
"da", "de-DE", "el", "en-AU", "en-CA", "en-GB", "en-US", "es-ES", "es-MX", "fi", "fr-CA", "fr-FR", "id", "it", "ja", "ko", "ms", "nl", "no", "pt-BR", "pt-PT", "ru", "sv", "th", "tr", "vi", "zh-Hans", "zh-Hant"
|
333
137
|
```
|
334
138
|
|
335
|
-
## Use a clean status bar
|
336
|
-
You can use [SimulatorStatusMagic](https://github.com/shinydevelopment/SimulatorStatusMagic) to clean up the status bar.
|
337
|
-
|
338
139
|
## Automatically create screenshots
|
339
140
|
|
340
141
|
If you want to integrate ```deliver``` with ```snapshot```, check out [fastlane](https://github.com/KrauseFx/fastlane)!
|
data/bin/deliver
CHANGED
@@ -1,30 +1,10 @@
|
|
1
|
-
###################### App Metadata ######################
|
2
|
-
# Update the app description and metadata in the ./metadata folder
|
3
|
-
|
4
|
-
###################### Screenshots ######################
|
5
|
-
# Store all screenshots in the ./screenshots folder separated
|
6
|
-
# by language. If you use snapshot, this happens automatically
|
7
|
-
|
8
|
-
###################### IPA File ######################
|
9
|
-
# This part is only relevant, if you want to submit a new binary
|
10
|
-
# If you don't use fastlane (https://github.com/KrauseFx/fastlane)
|
11
|
-
# you can set the path to your ipa file using:
|
12
|
-
# ipa "./app.ipa"
|
13
|
-
|
14
|
-
# to provide an ipa file for TestFlight distribution, use beta_ipa
|
15
|
-
# beta_ipa "./app.ipa"
|
16
|
-
|
17
|
-
# The version of your app - remove this if you provide an ipa file
|
18
|
-
version "[[APP_VERSION]]"
|
19
|
-
|
20
1
|
###################### More Options ######################
|
21
2
|
# If you want to have even more control, check out the documentation
|
22
3
|
# https://github.com/KrauseFx/deliver/blob/master/Deliverfile.md
|
23
4
|
|
24
5
|
|
25
6
|
###################### Automatically generated ######################
|
26
|
-
# Feel free to remove the following
|
7
|
+
# Feel free to remove the following line if you use fastlane (which you should)
|
27
8
|
|
28
9
|
app_identifier "[[APP_IDENTIFIER]]" # The bundle identifier of your app
|
29
|
-
|
30
|
-
email "[[EMAIL]]" # the login email address
|
10
|
+
username "[[USERNAME]]" # your Apple ID user
|
data/lib/assets/summary.html.erb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
<html>
|
2
2
|
<head>
|
3
|
-
<title>deliver - <%= @
|
3
|
+
<title>deliver - <%= @options[:name]["en-US"] || @options[:name].values.first %></title>
|
4
4
|
<meta http-equiv="content-type" content="text/html; charset=UTF-16">
|
5
5
|
<style>
|
6
6
|
#app-name {
|
@@ -106,65 +106,57 @@
|
|
106
106
|
margin-left: 10px;
|
107
107
|
margin-right: 10px;
|
108
108
|
}
|
109
|
-
|
110
|
-
/*for highlighting a changed value*/
|
111
|
-
.modified {
|
112
|
-
color: #0056ba;
|
113
|
-
}
|
114
109
|
</style>
|
115
110
|
</head>
|
116
|
-
|
117
|
-
<%
|
118
|
-
def modified?(val)
|
119
|
-
"modified" if (val and val[:modified] == true)
|
120
|
-
end
|
121
|
-
%>
|
122
111
|
|
123
112
|
<body>
|
124
|
-
<% @
|
125
|
-
<div id="app-name"
|
126
|
-
<%= language %>: <%=
|
113
|
+
<% @options[:description].keys.each do |language| %>
|
114
|
+
<div id="app-name">
|
115
|
+
<%= language %>: <%= @options[:name][language] %>
|
127
116
|
</div>
|
128
117
|
|
129
118
|
<div id="app-urls">
|
130
|
-
<% all_keys = [:support_url, :
|
119
|
+
<% all_keys = [:support_url, :marketing_url] %>
|
131
120
|
<% all_keys.each do |key| %>
|
132
|
-
<% value =
|
121
|
+
<% value = @options[key][language] %>
|
133
122
|
<% if value %>
|
134
|
-
<div class="app-url-descr
|
123
|
+
<div class="app-url-descr">
|
135
124
|
<%= key %>: <a target="_blank" class="app-url" href="<%= value %>"><%= value %></a>
|
136
125
|
</div>
|
137
126
|
<% end %>
|
138
127
|
<% end %>
|
139
128
|
</div>
|
140
129
|
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
130
|
+
<% if @options[:keywords] and @options[:keywords][language] %>
|
131
|
+
<div id="app-keyword">
|
132
|
+
<div class="cat-headline">Keywords</div>
|
133
|
+
<ul class="app-keyword-list">
|
134
|
+
<% @options[:keywords][language].split(" ").each do |keyword| %>
|
135
|
+
<li><%= keyword %></li>
|
136
|
+
<% end %>
|
137
|
+
</ul>
|
138
|
+
</div>
|
139
|
+
<% end %>
|
149
140
|
|
150
|
-
<div id="app-description"
|
141
|
+
<div id="app-description">
|
151
142
|
<div class="cat-headline">Description</div>
|
152
143
|
<div id="app-description-text">
|
153
|
-
<%=
|
144
|
+
<%= (@options[:description][language] || '').gsub("\n", "<br />") %>
|
154
145
|
</div>
|
155
146
|
</div>
|
156
147
|
|
157
|
-
<div id="app-changelog"
|
148
|
+
<div id="app-changelog">
|
158
149
|
<div class="cat-headline">Changelog</div>
|
159
|
-
<%=
|
150
|
+
<%= (@options[:release_notes][language] || '').gsub("\n", "<br />") %>
|
160
151
|
</div>
|
161
152
|
|
162
153
|
<div id="app-screenshots">
|
163
154
|
<div class="cat-headline">Screenshots</div>
|
164
155
|
|
165
|
-
<% if
|
156
|
+
<% if @screenshots.count > 0 %>
|
166
157
|
<% last_size = nil %>
|
167
|
-
<%
|
158
|
+
<% sc = @screenshots.find_all { |s| s.language == language } %>
|
159
|
+
<% sc.sort {|a, b| [a.screen_size, a.path] <=> [b.screen_size, b.path]}.each do |screenshot| %>
|
168
160
|
|
169
161
|
<% new_row = (last_size != screenshot.screen_size or last_size == nil) %>
|
170
162
|
|
@@ -173,7 +165,7 @@
|
|
173
165
|
<% end %>
|
174
166
|
|
175
167
|
<% if new_row %>
|
176
|
-
<h4><%= screenshot.
|
168
|
+
<h4><%= screenshot.formatted_name %></h4>
|
177
169
|
<div class="app-screenshot-row">
|
178
170
|
<% end %>
|
179
171
|
|
@@ -186,19 +178,15 @@
|
|
186
178
|
<div style="border: 3px solid red; padding: 0px 20px">
|
187
179
|
<h2 style="color: red">No Screenshots Found</h2>
|
188
180
|
<p>
|
189
|
-
deliver couldn't find any screenshots.
|
190
|
-
</p>
|
181
|
+
deliver couldn't find any screenshots. This will <b>remove</b> existing screenshots, but will also not upload any.
|
191
182
|
<p>
|
192
183
|
Please make sure to store your screenshots in the screenshots folder. If you want to download your existing screenshots, run <i>deliver download_screenshots</i>.
|
193
184
|
</p>
|
194
185
|
</div>
|
195
186
|
<% end %>
|
196
187
|
</div>
|
197
|
-
|
198
|
-
</div>
|
188
|
+
|
199
189
|
<hr />
|
200
190
|
<% end # end data %>
|
201
191
|
</body>
|
202
192
|
</html>
|
203
|
-
|
204
|
-
|
data/lib/deliver.rb
CHANGED
@@ -1,24 +1,26 @@
|
|
1
1
|
require 'json'
|
2
2
|
require 'deliver/version'
|
3
|
-
require 'deliver/
|
4
|
-
require 'deliver/
|
5
|
-
require 'deliver/
|
3
|
+
require 'deliver/options'
|
4
|
+
require 'deliver/commands_generator'
|
5
|
+
require 'deliver/detect_values'
|
6
|
+
require 'deliver/runner'
|
7
|
+
require 'deliver/upload_metadata'
|
8
|
+
require 'deliver/upload_screenshots'
|
9
|
+
require 'deliver/upload_price_tier'
|
10
|
+
require 'deliver/upload_assets'
|
11
|
+
require 'deliver/submit_for_review'
|
6
12
|
require 'deliver/app_screenshot'
|
7
|
-
require 'deliver/itunes_connect/itunes_connect'
|
8
|
-
require 'deliver/itunes_transporter'
|
9
|
-
require 'deliver/deliverfile/deliverfile'
|
10
|
-
require 'deliver/deliverfile/deliverfile_creator'
|
11
|
-
require 'deliver/deliverer'
|
12
|
-
require 'deliver/ipa_uploader'
|
13
13
|
require 'deliver/html_generator'
|
14
|
-
require 'deliver/deliver_process'
|
15
|
-
require 'deliver/dependency_checker'
|
16
|
-
require 'deliver/ipa_file_analyser'
|
17
|
-
require 'deliver/testflight'
|
18
|
-
require 'deliver/commands_generator'
|
19
14
|
|
15
|
+
require 'spaceship'
|
20
16
|
require 'fastlane_core'
|
21
17
|
|
18
|
+
# TODO
|
19
|
+
require 'pry'
|
20
|
+
|
22
21
|
module Deliver
|
22
|
+
class << self
|
23
|
+
end
|
24
|
+
|
23
25
|
Helper = FastlaneCore::Helper # you gotta love Ruby: Helper.* should use the Helper class contained in FastlaneCore
|
24
26
|
end
|