fastlane/lib/fastlane/actions/docs/check_app_store_metadata

precheck

Check your app using a community driven set of App Store review rules to avoid being rejected

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 App Store Connect for avoidable problems. fastlane precheck helps you get your app through app review without rejections so you can ship faster ๐Ÿš€


Features โ€ข Usage โ€ข Example โ€ข How does it work?


Features

precheck Features
๐Ÿ› ๏ฃฟ product bug mentions
๐Ÿ™… Swear word checker
๐Ÿค– Mentioning other platforms
๐Ÿ˜ต URL reachability checker
๐Ÿ“ Placeholder/test words/mentioning future features
๐Ÿ“… Copyright date checking
๐Ÿ™ˆ Customizable word list checking
๐Ÿ“ข 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

Usage

Run fastlane precheck to check the app metadata from App Store Connect

fastlane precheck

To get a list of available options run

fastlane action precheck

Example

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.

Run fastlane precheck init to create a new configuration file. Example:

# indicates that your metadata will not be checked by this rule
negative_apple_sentiment(level: :skip)

# when triggered, this rule will warn you of a potential problem
curse_words(level: :warn)

# show error and prevent any further commands from running after fastlane precheck finishes
unreachable_urls(level: :error)

# pass in whatever words you want to check for
custom_text(data: ["chrome", "webos"], 
           level: :warn)

Use with fastlane

precheck is fully integrated with deliver another fastlane tool.

Update your Fastfile to contain the following code:

lane :production do
  # ...

  # by default deliver will call precheck and warn you of any problems
  # if you want precheck to halt submitting to app review, you can pass
  # precheck_default_rule_level: :error
  deliver(precheck_default_rule_level: :error)

  # ...
end

# or if you prefer, you can run precheck alone
lane :check_metadata do
  precheck
end

How does it work?

precheck will access App Store Connect to download your app’s metadata. It uses spaceship to communicate with Apple’s web services.

Want to improve precheck’s rules?

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.