fastlane 2.40.0.beta.20170622010014 โ 2.40.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/cert/README.md +3 -1
- data/deliver/README.md +5 -1
- data/deliver/lib/deliver/options.rb +16 -0
- data/deliver/lib/deliver/runner.rb +36 -2
- data/fastlane/README.md +3 -1
- data/fastlane/lib/fastlane/actions/precheck.rb +52 -0
- data/fastlane/lib/fastlane/tools.rb +2 -1
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane_core/README.md +2 -1
- data/frameit/README.md +3 -1
- data/gym/README.md +3 -1
- data/match/README.md +3 -1
- data/pem/README.md +3 -1
- data/pilot/README.md +3 -1
- data/precheck/README.md +174 -0
- data/precheck/lib/assets/PrecheckfileTemplate +28 -0
- data/precheck/lib/precheck.rb +22 -0
- data/precheck/lib/precheck/commands_generator.rb +56 -0
- data/precheck/lib/precheck/item_to_check.rb +58 -0
- data/precheck/lib/precheck/options.rb +63 -0
- data/precheck/lib/precheck/rule.rb +169 -0
- data/precheck/lib/precheck/rule_check_result.rb +19 -0
- data/precheck/lib/precheck/rule_processor.rb +199 -0
- data/precheck/lib/precheck/rules/abstract_text_match_rule.rb +64 -0
- data/precheck/lib/precheck/rules/copyright_date_rule.rb +38 -0
- data/precheck/lib/precheck/rules/curse_words_rule.rb +57 -0
- data/precheck/lib/precheck/rules/custom_text_rule.rb +36 -0
- data/precheck/lib/precheck/rules/future_functionality_rule.rb +34 -0
- data/precheck/lib/precheck/rules/negative_apple_sentiment_rule.rb +38 -0
- data/precheck/lib/precheck/rules/other_platforms_rule.rb +38 -0
- data/precheck/lib/precheck/rules/placeholder_words_rule.rb +33 -0
- data/precheck/lib/precheck/rules/rules_data/curse_word_hashes/en_us.txt +349 -0
- data/precheck/lib/precheck/rules/test_words_rule.rb +31 -0
- data/precheck/lib/precheck/rules/unreachable_urls_rule.rb +42 -0
- data/precheck/lib/precheck/runner.rb +164 -0
- data/produce/README.md +3 -1
- data/scan/README.md +3 -1
- data/screengrab/README.md +2 -1
- data/sigh/README.md +3 -1
- data/snapshot/README.md +3 -1
- data/spaceship/README.md +2 -1
- data/spaceship/lib/spaceship/tunes/language_item.rb +5 -1
- data/supply/README.md +3 -1
- metadata +38 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4df481d021e63a7af1a713c236cd214b09bcadc6
|
4
|
+
data.tar.gz: 58dd9c9d6f10b8b927c6792b34784fd8ce63d427
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7aeb736feb916475c74ff074974c107ceea80bb4c02704799f8058a564a934797f6eb171e0ce89ccb24910bb26389761fb595dd17765d7041d199eec6e9271cc
|
7
|
+
data.tar.gz: 678f24e0cfbe793298213425fca3a2384d786c196c78e8f2c5d5afa6eb82f33ad0fb23e56214c2fda1e04477232a9f79b1366c4766da1500413db7526bb8a13a
|
data/cert/README.md
CHANGED
@@ -18,7 +18,8 @@
|
|
18
18
|
<a href="https://github.com/fastlane/boarding">boarding</a> •
|
19
19
|
<a href="https://github.com/fastlane/fastlane/tree/master/gym">gym</a> •
|
20
20
|
<a href="https://github.com/fastlane/fastlane/tree/master/scan">scan</a> •
|
21
|
-
<a href="https://github.com/fastlane/fastlane/tree/master/match">match</a>
|
21
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/match">match</a> •
|
22
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/precheck">precheck</a>
|
22
23
|
</p>
|
23
24
|
|
24
25
|
-------
|
@@ -145,6 +146,7 @@ This will result in `sigh` always using the correct signing certificate, which i
|
|
145
146
|
- [`gym`](https://github.com/fastlane/fastlane/tree/master/gym): Building your iOS apps has never been easier
|
146
147
|
- [`scan`](https://github.com/fastlane/fastlane/tree/master/scan): The easiest way to run tests of your iOS and Mac app
|
147
148
|
- [`match`](https://github.com/fastlane/fastlane/tree/master/match): Easily sync your certificates and profiles across your team using git
|
149
|
+
- [`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
|
148
150
|
|
149
151
|
##### [Do you like fastlane? Be the first to know about updates and new fastlane tools](https://tinyletter.com/fastlane-tools)
|
150
152
|
|
data/deliver/README.md
CHANGED
@@ -18,7 +18,8 @@
|
|
18
18
|
<a href="https://github.com/fastlane/boarding">boarding</a> •
|
19
19
|
<a href="https://github.com/fastlane/fastlane/tree/master/gym">gym</a> •
|
20
20
|
<a href="https://github.com/fastlane/fastlane/tree/master/scan">scan</a> •
|
21
|
-
<a href="https://github.com/fastlane/fastlane/tree/master/match">match</a>
|
21
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/match">match</a> •
|
22
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/precheck">precheck</a>
|
22
23
|
</p>
|
23
24
|
|
24
25
|
-------
|
@@ -61,6 +62,7 @@ Get in contact with the developer on Twitter: [@FastlaneTools](https://twitter.c
|
|
61
62
|
- Easily implement a real Continuous Deployment process using [fastlane](https://fastlane.tools)
|
62
63
|
- Store the configuration in git to easily deploy from **any** Mac, including your Continuous Integration server
|
63
64
|
- Get a HTML preview of the fetched metadata before uploading the app metadata and screenshots to iTC
|
65
|
+
- Automatically uses [precheck](https://github.com/fastlane/fastlane/tree/master/precheck) to ensure your app has the highest chances of passing app review the first time
|
64
66
|
|
65
67
|
To upload builds to TestFlight check out [pilot](https://github.com/fastlane/fastlane/tree/master/pilot).
|
66
68
|
|
@@ -179,6 +181,8 @@ Before actually uploading anything to iTunes, ```deliver``` will generate a HTML
|
|
179
181
|
- [`gym`](https://github.com/fastlane/fastlane/tree/master/gym): Building your iOS apps has never been easier
|
180
182
|
- [`scan`](https://github.com/fastlane/fastlane/tree/master/scan): The easiest way to run tests of your iOS and Mac app
|
181
183
|
- [`match`](https://github.com/fastlane/fastlane/tree/master/match): Easily sync your certificates and profiles across your team using git
|
184
|
+
- [`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
|
185
|
+
|
182
186
|
|
183
187
|
##### [Do you like fastlane? Be the first to know about updates and new fastlane tools](https://tinyletter.com/fastlane-tools)
|
184
188
|
|
@@ -93,6 +93,10 @@ module Deliver
|
|
93
93
|
description: "Don't upload the metadata (e.g. title, description), this will still upload screenshots",
|
94
94
|
is_string: false,
|
95
95
|
default_value: false),
|
96
|
+
FastlaneCore::ConfigItem.new(key: :skip_app_version_update,
|
97
|
+
description: "Don't update app version for submission",
|
98
|
+
is_string: false,
|
99
|
+
default_value: false),
|
96
100
|
FastlaneCore::ConfigItem.new(key: :force,
|
97
101
|
short_option: "-f",
|
98
102
|
description: "Skip the HTML report file verification",
|
@@ -181,6 +185,18 @@ module Deliver
|
|
181
185
|
description: "Clear all previously uploaded screenshots before uploading the new ones",
|
182
186
|
is_string: false,
|
183
187
|
default_value: false),
|
188
|
+
FastlaneCore::ConfigItem.new(key: :run_precheck_before_submit,
|
189
|
+
short_option: "-x",
|
190
|
+
env_name: "DELIVER_RUN_PRECHECK_BEFORE_SUBMIT",
|
191
|
+
description: "Run precheck before submitting to app review",
|
192
|
+
is_string: false,
|
193
|
+
default_value: true),
|
194
|
+
FastlaneCore::ConfigItem.new(key: :precheck_default_rule_level,
|
195
|
+
short_option: "-d",
|
196
|
+
env_name: "DELIVER_PRECHECK_DEFAULT_RULE_LEVEL",
|
197
|
+
description: "The default rule level unless otherwise configured",
|
198
|
+
is_string: false,
|
199
|
+
default_value: :warn),
|
184
200
|
|
185
201
|
# App Metadata
|
186
202
|
# Non Localised
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'precheck'
|
2
|
+
|
1
3
|
module Deliver
|
2
4
|
class Runner
|
3
5
|
attr_accessor :options
|
@@ -10,6 +12,7 @@ module Deliver
|
|
10
12
|
end
|
11
13
|
|
12
14
|
def login
|
15
|
+
UI.message("Running precheck before submitting to review, if you'd like to disable this check you can set run_precheck_before_submit to false") unless options[:run_precheck_before_submit] == false
|
13
16
|
UI.message("Login to iTunes Connect (#{options[:username]})")
|
14
17
|
Spaceship::Tunes.login(options[:username])
|
15
18
|
Spaceship::Tunes.select_team
|
@@ -17,7 +20,7 @@ module Deliver
|
|
17
20
|
end
|
18
21
|
|
19
22
|
def run
|
20
|
-
verify_version if options[:app_version].to_s.length > 0
|
23
|
+
verify_version if options[:app_version].to_s.length > 0 && !options[:skip_app_version_update]
|
21
24
|
upload_metadata
|
22
25
|
|
23
26
|
has_binary = (options[:ipa] || options[:pkg])
|
@@ -27,7 +30,38 @@ module Deliver
|
|
27
30
|
|
28
31
|
UI.success("Finished the upload to iTunes Connect") unless options[:skip_binary_upload]
|
29
32
|
|
30
|
-
|
33
|
+
precheck_success = precheck_app
|
34
|
+
|
35
|
+
submit_for_review if options[:submit_for_review] && precheck_success
|
36
|
+
end
|
37
|
+
|
38
|
+
# Make sure we pass precheck before uploading
|
39
|
+
def precheck_app
|
40
|
+
return true unless options[:run_precheck_before_submit]
|
41
|
+
|
42
|
+
if options[:submit_for_review]
|
43
|
+
UI.message("Making sure we pass precheck ๐ฎโโ๏ธ ๐ฎ before we submit ๐ซ")
|
44
|
+
else
|
45
|
+
UI.message("Running precheck ๐ฎโโ๏ธ ๐ฎ")
|
46
|
+
end
|
47
|
+
|
48
|
+
precheck_options = { default_rule_level: options[:precheck_default_rule_level] }
|
49
|
+
precheck_config = FastlaneCore::Configuration.create(Precheck::Options.available_options, precheck_options)
|
50
|
+
Precheck.config = precheck_config
|
51
|
+
|
52
|
+
precheck_success = true
|
53
|
+
begin
|
54
|
+
precheck_success = Precheck::Runner.new.run
|
55
|
+
rescue => ex
|
56
|
+
UI.error("fastlane precheck just tried to inspect your app's metadata for App Store guideline violations and ran into a problem. We're not sure what the problem was, but precheck failed to finished. You can run it in verbose mode if you want to see the whole error. We'll have a fix out soon ๐")
|
57
|
+
UI.verbose(ex.inspect)
|
58
|
+
UI.verbose(ex.backtrace.join("\n"))
|
59
|
+
|
60
|
+
# always report this back, since this is a new tool, we don't want to crash, but we still want to see this
|
61
|
+
FastlaneCore::CrashReporter.report_crash(exception: ex)
|
62
|
+
end
|
63
|
+
|
64
|
+
return precheck_success
|
31
65
|
end
|
32
66
|
|
33
67
|
# Make sure the version on iTunes Connect matches the one in the ipa
|
data/fastlane/README.md
CHANGED
@@ -14,7 +14,8 @@
|
|
14
14
|
<a href="https://github.com/fastlane/boarding">boarding</a> •
|
15
15
|
<a href="https://github.com/fastlane/fastlane/tree/master/gym">gym</a> •
|
16
16
|
<a href="https://github.com/fastlane/fastlane/tree/master/scan">scan</a> •
|
17
|
-
<a href="https://github.com/fastlane/fastlane/tree/master/match">match</a>
|
17
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/match">match</a> •
|
18
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/precheck">precheck</a>
|
18
19
|
</p>
|
19
20
|
|
20
21
|
-------
|
@@ -183,6 +184,7 @@ See how [Wikipedia](https://github.com/fastlane/examples#wikipedia-by-wikimedia-
|
|
183
184
|
- [`boarding`](https://github.com/fastlane/boarding): The easiest way to invite your TestFlight beta testers
|
184
185
|
- [`gym`](https://github.com/fastlane/fastlane/tree/master/gym): Building your iOS apps has never been easier
|
185
186
|
- [`match`](https://github.com/fastlane/fastlane/tree/master/match): Easily sync your certificates and profiles across your team using git
|
187
|
+
- [`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
|
186
188
|
|
187
189
|
## Credentials
|
188
190
|
A detailed description about how `fastlane` stores your credentials is available on a [separate repo](https://github.com/fastlane/fastlane/tree/master/credentials_manager).
|
@@ -0,0 +1,52 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
module SharedValues
|
4
|
+
end
|
5
|
+
|
6
|
+
class PrecheckAction < Action
|
7
|
+
def self.run(config)
|
8
|
+
require 'precheck'
|
9
|
+
Precheck.config = config
|
10
|
+
return Precheck::Runner.new.run
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.description
|
14
|
+
"Check your app's metadata before you submit your app to review using _precheck_"
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.details
|
18
|
+
"More information: https://fastlane.tools/precheck"
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.available_options
|
22
|
+
require 'precheck/options'
|
23
|
+
Precheck::Options.available_options
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.return_value
|
27
|
+
return "true if precheck passes, else, false"
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.authors
|
31
|
+
["taquitos"]
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.is_supported?(platform)
|
35
|
+
platform == :ios
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.example_code
|
39
|
+
[
|
40
|
+
'precheck(
|
41
|
+
negative_apple_sentiment(level: :skip), # Set to skip to not run the `negative_apple_sentiment` rule
|
42
|
+
curse_words(level: :warn) # Set to warn to only warn on curse word check failures
|
43
|
+
)'
|
44
|
+
]
|
45
|
+
end
|
46
|
+
|
47
|
+
def self.category
|
48
|
+
:misc
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
data/fastlane_core/README.md
CHANGED
@@ -18,7 +18,8 @@
|
|
18
18
|
<a href="https://github.com/fastlane/boarding">boarding</a> •
|
19
19
|
<a href="https://github.com/fastlane/fastlane/tree/master/gym">gym</a> •
|
20
20
|
<a href="https://github.com/fastlane/fastlane/tree/master/scan">scan</a> •
|
21
|
-
<a href="https://github.com/fastlane/fastlane/tree/master/match">match</a>
|
21
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/match">match</a> •
|
22
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/precheck">precheck</a>
|
22
23
|
</p>
|
23
24
|
|
24
25
|
-------
|
data/frameit/README.md
CHANGED
@@ -18,7 +18,8 @@
|
|
18
18
|
<a href="https://github.com/fastlane/boarding">boarding</a> •
|
19
19
|
<a href="https://github.com/fastlane/fastlane/tree/master/gym">gym</a> •
|
20
20
|
<a href="https://github.com/fastlane/fastlane/tree/master/scan">scan</a> •
|
21
|
-
<a href="https://github.com/fastlane/fastlane/tree/master/match">match</a>
|
21
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/match">match</a> •
|
22
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/precheck">precheck</a>
|
22
23
|
</p>
|
23
24
|
|
24
25
|
-------
|
@@ -246,6 +247,7 @@ Check out the [MindNode example project](https://github.com/fastlane/examples/tr
|
|
246
247
|
- [`gym`](https://github.com/fastlane/fastlane/tree/master/gym): Building your iOS apps has never been easier
|
247
248
|
- [`scan`](https://github.com/fastlane/fastlane/tree/master/scan): The easiest way to run tests of your iOS and Mac app
|
248
249
|
- [`match`](https://github.com/fastlane/fastlane/tree/master/match): Easily sync your certificates and profiles across your team using git
|
250
|
+
- [`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
|
249
251
|
|
250
252
|
##### [Do you like fastlane? Be the first to know about updates and new fastlane tools](https://tinyletter.com/fastlane-tools)
|
251
253
|
|
data/gym/README.md
CHANGED
@@ -18,7 +18,8 @@
|
|
18
18
|
<a href="https://github.com/fastlane/boarding">boarding</a> •
|
19
19
|
<b>gym</b> •
|
20
20
|
<a href="https://github.com/fastlane/fastlane/tree/master/scan">scan</a> •
|
21
|
-
<a href="https://github.com/fastlane/fastlane/tree/master/match">match</a>
|
21
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/match">match</a> •
|
22
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/precheck">precheck</a>
|
22
23
|
</p>
|
23
24
|
|
24
25
|
-------
|
@@ -281,6 +282,7 @@ Afterwards the `ipa` file is moved to the output folder. The `dSYM` file is comp
|
|
281
282
|
- [`boarding`](https://github.com/fastlane/boarding): The easiest way to invite your TestFlight beta testers
|
282
283
|
- [`scan`](https://github.com/fastlane/fastlane/tree/master/scan): The easiest way to run tests of your iOS and Mac app
|
283
284
|
- [`match`](https://github.com/fastlane/fastlane/tree/master/match): Easily sync your certificates and profiles across your team using git
|
285
|
+
- [`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
|
284
286
|
|
285
287
|
##### [Do you like fastlane? Be the first to know about updates and new fastlane tools](https://tinyletter.com/fastlane-tools)
|
286
288
|
|
data/match/README.md
CHANGED
@@ -18,7 +18,8 @@
|
|
18
18
|
<a href="https://github.com/fastlane/boarding">boarding</a> •
|
19
19
|
<a href="https://github.com/fastlane/fastlane/tree/master/gym">gym</a> •
|
20
20
|
<a href="https://github.com/fastlane/fastlane/tree/master/scan">scan</a> •
|
21
|
-
<b>match</b>
|
21
|
+
<b>match</b> •
|
22
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/precheck">precheck</a>
|
22
23
|
</p>
|
23
24
|
|
24
25
|
-------
|
@@ -406,6 +407,7 @@ Because of the potentially dangerous nature of In-House profiles please use _mat
|
|
406
407
|
- [`boarding`](https://github.com/fastlane/boarding): The easiest way to invite your TestFlight beta testers
|
407
408
|
- [`gym`](https://github.com/fastlane/fastlane/tree/master/gym): Building your iOS apps has never been easier
|
408
409
|
- [`scan`](https://github.com/fastlane/fastlane/tree/master/scan): The easiest way to run tests of your iOS and Mac app
|
410
|
+
- [`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
|
409
411
|
|
410
412
|
# Need help?
|
411
413
|
Please submit an issue on GitHub and provide information about your setup
|
data/pem/README.md
CHANGED
@@ -18,7 +18,8 @@
|
|
18
18
|
<a href="https://github.com/fastlane/boarding">boarding</a> •
|
19
19
|
<a href="https://github.com/fastlane/fastlane/tree/master/gym">gym</a> •
|
20
20
|
<a href="https://github.com/fastlane/fastlane/tree/master/scan">scan</a> •
|
21
|
-
<a href="https://github.com/fastlane/fastlane/tree/master/match">match</a>
|
21
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/match">match</a> •
|
22
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/precheck">precheck</a>
|
22
23
|
</p>
|
23
24
|
|
24
25
|
-------
|
@@ -167,6 +168,7 @@ Run `fastlane pem --help` to get a list of available environment variables.
|
|
167
168
|
- [`gym`](https://github.com/fastlane/fastlane/tree/master/gym): Building your iOS app has never been easier
|
168
169
|
- [`scan`](https://github.com/fastlane/fastlane/tree/master/scan): The easiest way to run tests of your iOS and Mac app
|
169
170
|
- [`match`](https://github.com/fastlane/fastlane/tree/master/match): Easily sync your certificates and profiles across your team using git
|
171
|
+
- [`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
|
170
172
|
|
171
173
|
##### [Do you like fastlane? Be the first to know about updates and new fastlane tools](https://tinyletter.com/fastlane-tools)
|
172
174
|
|
data/pilot/README.md
CHANGED
@@ -18,7 +18,8 @@
|
|
18
18
|
<a href="https://github.com/fastlane/boarding">boarding</a> •
|
19
19
|
<a href="https://github.com/fastlane/fastlane/tree/master/gym">gym</a> •
|
20
20
|
<a href="https://github.com/fastlane/fastlane/tree/master/scan">scan</a> •
|
21
|
-
<a href="https://github.com/fastlane/fastlane/tree/master/match">match</a>
|
21
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/match">match</a> •
|
22
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/precheck">precheck</a>
|
22
23
|
</p>
|
23
24
|
|
24
25
|
-------
|
@@ -242,6 +243,7 @@ fastlane pilot import -c ~/Desktop/testers.csv
|
|
242
243
|
- [`gym`](https://github.com/fastlane/fastlane/tree/master/gym): Building your iOS apps has never been easier
|
243
244
|
- [`scan`](https://github.com/fastlane/fastlane/tree/master/scan): The easiest way to run tests of your iOS and Mac app
|
244
245
|
- [`match`](https://github.com/fastlane/fastlane/tree/master/match): Easily sync your certificates and profiles across your team using git
|
246
|
+
- [`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
|
245
247
|
|
246
248
|
##### [Do you like fastlane? Be the first to know about updates and new fastlane tools](https://tinyletter.com/fastlane-tools)
|
247
249
|
|
data/precheck/README.md
ADDED
@@ -0,0 +1,174 @@
|
|
1
|
+
<h3 align="center">
|
2
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/fastlane">
|
3
|
+
<img src="../fastlane/assets/fastlane.png" width="150" />
|
4
|
+
<br />
|
5
|
+
fastlane
|
6
|
+
</a>
|
7
|
+
</h3>
|
8
|
+
<p align="center">
|
9
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/deliver">deliver</a> •
|
10
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/snapshot">snapshot</a> •
|
11
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/frameit">frameit</a> •
|
12
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/pem">pem</a> •
|
13
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/sigh">sigh</a> •
|
14
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/produce">produce</a> •
|
15
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/cert">cert</a> •
|
16
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/spaceship">spaceship</a> •
|
17
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/pilot">pilot</a> •
|
18
|
+
<a href="https://github.com/fastlane/boarding">boarding</a> •
|
19
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/gym">gym</a> •
|
20
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/scan">scan</a> •
|
21
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/match">match</a> •
|
22
|
+
<b>precheck</b>
|
23
|
+
</p>
|
24
|
+
|
25
|
+
-------
|
26
|
+
|
27
|
+
<p align="center">
|
28
|
+
<img src="assets/precheck.png" height="110">
|
29
|
+
</p>
|
30
|
+
|
31
|
+
Precheck
|
32
|
+
============
|
33
|
+
|
34
|
+
[![Twitter: @FastlaneTools](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/LICENSE)
|
36
|
+
|
37
|
+
###### Check your app using a community driven set of App Store review rules to avoid being rejected
|
38
|
+
|
39
|
+
Apple rejects builds for many avoidable metadata issues like including swear words ๐ฎ, other companiesโ trademarks, or even mentioning an iOS bug ๐. _fastlane precheck_ takes a lot of the guess work out by scanning your appโs details in iTunes Connect for avoidable problems. fastlane precheck helps you get your app through app review without rejections so you can ship faster ๐
|
40
|
+
|
41
|
+
|
42
|
+
Get in contact with the developers on Twitter: [@FastlaneTools](https://twitter.com/FastlaneTools)
|
43
|
+
|
44
|
+
-------
|
45
|
+
|
46
|
+
<p align="center">
|
47
|
+
<a href="#features">Features</a> •
|
48
|
+
<a href="#quick-start">Quick Start</a> •
|
49
|
+
<a href="#usage">Usage</a> •
|
50
|
+
<a href="#example">Example</a> •
|
51
|
+
<a href="#how-does-it-work">How does it work?</a> •
|
52
|
+
<a href="#tips">Tips</a> •
|
53
|
+
<a href="#need-help">Need help?</a>
|
54
|
+
</p>
|
55
|
+
|
56
|
+
-------
|
57
|
+
|
58
|
+
<h5 align="center"><code>precheck</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>
|
59
|
+
|
60
|
+
# Features
|
61
|
+
|
62
|
+
|
63
|
+
| | precheck Features |
|
64
|
+
|----------|-----------------|
|
65
|
+
|๐| ๏ฃฟ product bug mentions|
|
66
|
+
|๐
โโ๏ธ|Swear word checker|
|
67
|
+
|๐ค|Mentioning other platforms|
|
68
|
+
|๐ต|URL reachability checker|
|
69
|
+
|๐|Placeholder/test words/mentioning future features|
|
70
|
+
|๐
|Copyright date checking|
|
71
|
+
|๐|Customizable word list checking|
|
72
|
+
|๐ข|You can decide if you want to warn about potential problems and continue or have _fastlane_ show an error and stop after all scans are done.|
|
73
|
+
|
74
|
+
##### [Do you like fastlane? Be the first to know about updates and new fastlane tools](https://tinyletter.com/fastlane-tools)
|
75
|
+
|
76
|
+
# Quick Start
|
77
|
+
|
78
|
+
sudo gem install fastlane
|
79
|
+
|
80
|
+
# Usage
|
81
|
+
Run _fastlane precheck_ to check the app metadata from iTunes Connect
|
82
|
+
|
83
|
+
fastlane precheck
|
84
|
+
|
85
|
+
To get a list of available options run
|
86
|
+
|
87
|
+
fastlane precheck --help
|
88
|
+
|
89
|
+
<img src="assets/precheck.gif" />
|
90
|
+
|
91
|
+
# Example
|
92
|
+
|
93
|
+
Since you might want to manually trigger _precheck_ but don't want to specify all the parameters every time, you can store your defaults in a so called `Precheckfile`.
|
94
|
+
|
95
|
+
Run `fastlane precheck init` to create a new configuration file. Example:
|
96
|
+
|
97
|
+
```ruby
|
98
|
+
# indicates that your metadata will not be checked by this rule
|
99
|
+
negative_apple_sentiment(level: :skip)
|
100
|
+
|
101
|
+
# when triggered, this rule will warn you of a potential problem
|
102
|
+
curse_words(level: :warn)
|
103
|
+
|
104
|
+
# show error and prevent any further commands from running after fastlane precheck finishes
|
105
|
+
unreachable_urls(level: :error)
|
106
|
+
|
107
|
+
# pass in whatever words you want to check for
|
108
|
+
custom_text(data: ["chrome", "webos"],
|
109
|
+
level: :warn)
|
110
|
+
```
|
111
|
+
|
112
|
+
### Use with [_fastlane_](https://github.com/fastlane/fastlane/tree/master/fastlane)
|
113
|
+
|
114
|
+
_precheck_ is fully integrated with [_deliver_](https://github.com/fastlane/fastlane/tree/master/deliver) another [_fastlane_](https://github.com/fastlane/fastlane/tree/master/fastlane) tool.
|
115
|
+
|
116
|
+
Update your `Fastfile` to contain the following code:
|
117
|
+
|
118
|
+
```ruby
|
119
|
+
lane :production do
|
120
|
+
...
|
121
|
+
# by default deliver will call precheck and warn you of any problems
|
122
|
+
# if you want precheck to halt submitting to app review, you can pass
|
123
|
+
# precheck_default_rule_level: :error
|
124
|
+
deliver(precheck_default_rule_level: :error)
|
125
|
+
...
|
126
|
+
end
|
127
|
+
|
128
|
+
# or if you prefer, you can run precheck alone
|
129
|
+
lane :check_metadata do
|
130
|
+
precheck
|
131
|
+
end
|
132
|
+
|
133
|
+
```
|
134
|
+
|
135
|
+
# How does it work?
|
136
|
+
|
137
|
+
`precheck` will access `iTunes Connect` to download your app's metadata. It uses [spaceship](https://spaceship.airforce) to communicate with Apple's web services.
|
138
|
+
|
139
|
+
|
140
|
+
# Tips
|
141
|
+
## [`fastlane`](https://fastlane.tools) Toolchain
|
142
|
+
|
143
|
+
- [`fastlane`](https://fastlane.tools): The easiest way to automate beta deployments and releases for your iOS and Android apps
|
144
|
+
- [`deliver`](https://github.com/fastlane/fastlane/tree/master/deliver): Upload screenshots, metadata and your app to the App Store
|
145
|
+
- [`snapshot`](https://github.com/fastlane/fastlane/tree/master/snapshot): Automate taking localized screenshots of your iOS app on every device
|
146
|
+
- [`frameit`](https://github.com/fastlane/fastlane/tree/master/frameit): Quickly put your screenshots into the right device frames
|
147
|
+
- [`pem`](https://github.com/fastlane/fastlane/tree/master/pem): Automatically generate and renew your push notification profiles
|
148
|
+
- [`sigh`](https://github.com/fastlane/fastlane/tree/master/sigh): Because you would rather spend your time building stuff than fighting provisioning
|
149
|
+
- [`produce`](https://github.com/fastlane/fastlane/tree/master/produce): Create new iOS apps on iTunes Connect and Dev Portal using the command line
|
150
|
+
- [`cert`](https://github.com/fastlane/fastlane/tree/master/cert): Automatically create and maintain iOS code signing certificates
|
151
|
+
- [`spaceship`](https://github.com/fastlane/fastlane/tree/master/spaceship): Ruby library to access the Apple Dev Center and iTunes Connect
|
152
|
+
- [`pilot`](https://github.com/fastlane/fastlane/tree/master/pilot): The best way to manage your TestFlight testers and builds from your terminal
|
153
|
+
- [`boarding`](https://github.com/fastlane/boarding): The easiest way to invite your TestFlight beta testers
|
154
|
+
- [`gym`](https://github.com/fastlane/fastlane/tree/master/gym): Building your iOS apps has never been easier
|
155
|
+
- [`scan`](https://github.com/fastlane/fastlane/tree/master/scan): The easiest way to run tests of your iOS and Mac app
|
156
|
+
- [`match`](https://github.com/fastlane/fastlane/tree/master/match): Easily sync your certificates and profiles across your team using git
|
157
|
+
|
158
|
+
##### [Do you like fastlane? Be the first to know about updates and new fastlane tools](https://tinyletter.com/fastlane-tools)
|
159
|
+
|
160
|
+
# Need help?
|
161
|
+
Please submit an issue on GitHub and provide information about your setup
|
162
|
+
|
163
|
+
# Want to improve precheck's rules?
|
164
|
+
Please submit an issue on GitHub and provide information about your App Store rejection! Make sure you scrub out any personally identifiable information since this will be public.
|
165
|
+
|
166
|
+
# Code of Conduct
|
167
|
+
Help us keep _precheck_ open and inclusive. Please read and follow our [Code of Conduct](https://github.com/fastlane/fastlane/blob/master/CODE_OF_CONDUCT.md).
|
168
|
+
|
169
|
+
# License
|
170
|
+
This project is licensed under the terms of the MIT license. See the LICENSE file.
|
171
|
+
|
172
|
+
> 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.
|
173
|
+
|
174
|
+
|