fastlane_hotfix 2.187.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.yardopts +1 -0
- data/LICENSE +21 -0
- data/README.md +228 -0
- data/bin/bin-proxy +19 -0
- data/bin/fastlane +23 -0
- data/cert/README.md +17 -0
- data/cert/lib/cert.rb +4 -0
- data/cert/lib/cert/commands_generator.rb +61 -0
- data/cert/lib/cert/module.rb +16 -0
- data/cert/lib/cert/options.rb +133 -0
- data/cert/lib/cert/runner.rb +239 -0
- data/credentials_manager/README.md +64 -0
- data/credentials_manager/lib/credentials_manager.rb +7 -0
- data/credentials_manager/lib/credentials_manager/account_manager.rb +157 -0
- data/credentials_manager/lib/credentials_manager/appfile_config.rb +196 -0
- data/credentials_manager/lib/credentials_manager/cli.rb +69 -0
- data/deliver/README.md +17 -0
- data/deliver/lib/assets/DeliverfileDefault +3 -0
- data/deliver/lib/assets/DeliverfileDefault.swift +13 -0
- data/deliver/lib/assets/ScreenshotsHelp +7 -0
- data/deliver/lib/assets/summary.html.erb +299 -0
- data/deliver/lib/deliver.rb +15 -0
- data/deliver/lib/deliver/app_screenshot.rb +360 -0
- data/deliver/lib/deliver/app_screenshot_iterator.rb +95 -0
- data/deliver/lib/deliver/app_screenshot_validator.rb +108 -0
- data/deliver/lib/deliver/commands_generator.rb +191 -0
- data/deliver/lib/deliver/detect_values.rb +104 -0
- data/deliver/lib/deliver/download_screenshots.rb +75 -0
- data/deliver/lib/deliver/generate_summary.rb +13 -0
- data/deliver/lib/deliver/html_generator.rb +78 -0
- data/deliver/lib/deliver/languages.rb +7 -0
- data/deliver/lib/deliver/loader.rb +157 -0
- data/deliver/lib/deliver/module.rb +24 -0
- data/deliver/lib/deliver/options.rb +451 -0
- data/deliver/lib/deliver/runner.rb +238 -0
- data/deliver/lib/deliver/setup.rb +203 -0
- data/deliver/lib/deliver/submit_for_review.rb +214 -0
- data/deliver/lib/deliver/upload_metadata.rb +699 -0
- data/deliver/lib/deliver/upload_price_tier.rb +40 -0
- data/deliver/lib/deliver/upload_screenshots.rb +271 -0
- data/fastlane/README.md +11 -0
- data/fastlane/lib/assets/ActionDetails.md.erb +106 -0
- data/fastlane/lib/assets/Actions.md.erb +43 -0
- data/fastlane/lib/assets/AppfileTemplate +6 -0
- data/fastlane/lib/assets/AppfileTemplate.swift +7 -0
- data/fastlane/lib/assets/AppfileTemplateAndroid +2 -0
- data/fastlane/lib/assets/DefaultFastfileTemplate +20 -0
- data/fastlane/lib/assets/DefaultFastfileTemplate.swift +13 -0
- data/fastlane/lib/assets/completions/completion.bash +23 -0
- data/fastlane/lib/assets/completions/completion.fish +39 -0
- data/fastlane/lib/assets/completions/completion.sh +12 -0
- data/fastlane/lib/assets/completions/completion.zsh +23 -0
- data/fastlane/lib/assets/custom_action_template.rb +82 -0
- data/fastlane/lib/assets/mailgun_html_template.erb +142 -0
- data/fastlane/lib/assets/report_template.xml.erb +15 -0
- data/fastlane/lib/assets/s3_html_template.erb +105 -0
- data/fastlane/lib/assets/s3_plist_template.erb +31 -0
- data/fastlane/lib/assets/s3_version_template.erb +4 -0
- data/fastlane/lib/fastlane.rb +53 -0
- data/fastlane/lib/fastlane/action.rb +198 -0
- data/fastlane/lib/fastlane/action_collector.rb +35 -0
- data/fastlane/lib/fastlane/actions/README.md +5 -0
- data/fastlane/lib/fastlane/actions/actions_helper.rb +185 -0
- data/fastlane/lib/fastlane/actions/adb.rb +75 -0
- data/fastlane/lib/fastlane/actions/adb_devices.rb +70 -0
- data/fastlane/lib/fastlane/actions/add_extra_platforms.rb +45 -0
- data/fastlane/lib/fastlane/actions/add_git_tag.rb +138 -0
- data/fastlane/lib/fastlane/actions/app_store_build_number.rb +249 -0
- data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +148 -0
- data/fastlane/lib/fastlane/actions/appaloosa.rb +271 -0
- data/fastlane/lib/fastlane/actions/appetize.rb +193 -0
- data/fastlane/lib/fastlane/actions/appetize_viewing_url_generator.rb +135 -0
- data/fastlane/lib/fastlane/actions/appium.rb +181 -0
- data/fastlane/lib/fastlane/actions/appledoc.rb +226 -0
- data/fastlane/lib/fastlane/actions/appstore.rb +14 -0
- data/fastlane/lib/fastlane/actions/apteligent.rb +106 -0
- data/fastlane/lib/fastlane/actions/artifactory.rb +189 -0
- data/fastlane/lib/fastlane/actions/automatic_code_signing.rb +220 -0
- data/fastlane/lib/fastlane/actions/backup_file.rb +41 -0
- data/fastlane/lib/fastlane/actions/backup_xcarchive.rb +135 -0
- data/fastlane/lib/fastlane/actions/badge.rb +151 -0
- data/fastlane/lib/fastlane/actions/build_and_upload_to_appetize.rb +113 -0
- data/fastlane/lib/fastlane/actions/build_android_app.rb +14 -0
- data/fastlane/lib/fastlane/actions/build_app.rb +171 -0
- data/fastlane/lib/fastlane/actions/build_ios_app.rb +47 -0
- data/fastlane/lib/fastlane/actions/build_mac_app.rb +46 -0
- data/fastlane/lib/fastlane/actions/bundle_install.rb +154 -0
- data/fastlane/lib/fastlane/actions/capture_android_screenshots.rb +63 -0
- data/fastlane/lib/fastlane/actions/capture_ios_screenshots.rb +61 -0
- data/fastlane/lib/fastlane/actions/capture_screenshots.rb +14 -0
- data/fastlane/lib/fastlane/actions/carthage.rb +238 -0
- data/fastlane/lib/fastlane/actions/cert.rb +14 -0
- data/fastlane/lib/fastlane/actions/changelog_from_git_commits.rb +188 -0
- data/fastlane/lib/fastlane/actions/chatwork.rb +95 -0
- data/fastlane/lib/fastlane/actions/check_app_store_metadata.rb +62 -0
- data/fastlane/lib/fastlane/actions/clean_build_artifacts.rb +71 -0
- data/fastlane/lib/fastlane/actions/clean_cocoapods_cache.rb +51 -0
- data/fastlane/lib/fastlane/actions/clear_derived_data.rb +70 -0
- data/fastlane/lib/fastlane/actions/clipboard.rb +49 -0
- data/fastlane/lib/fastlane/actions/cloc.rb +85 -0
- data/fastlane/lib/fastlane/actions/cocoapods.rb +178 -0
- data/fastlane/lib/fastlane/actions/commit_github_file.rb +194 -0
- data/fastlane/lib/fastlane/actions/commit_version_bump.rb +300 -0
- data/fastlane/lib/fastlane/actions/copy_artifacts.rb +113 -0
- data/fastlane/lib/fastlane/actions/crashlytics.rb +207 -0
- data/fastlane/lib/fastlane/actions/create_app_on_managed_play_store.rb +168 -0
- data/fastlane/lib/fastlane/actions/create_app_online.rb +75 -0
- data/fastlane/lib/fastlane/actions/create_keychain.rb +179 -0
- data/fastlane/lib/fastlane/actions/create_pull_request.rb +271 -0
- data/fastlane/lib/fastlane/actions/create_xcframework.rb +123 -0
- data/fastlane/lib/fastlane/actions/danger.rb +132 -0
- data/fastlane/lib/fastlane/actions/debug.rb +32 -0
- data/fastlane/lib/fastlane/actions/default_platform.rb +47 -0
- data/fastlane/lib/fastlane/actions/delete_keychain.rb +68 -0
- data/fastlane/lib/fastlane/actions/deliver.rb +14 -0
- data/fastlane/lib/fastlane/actions/deploygate.rb +209 -0
- data/fastlane/lib/fastlane/actions/device_grid/README.md +157 -0
- data/fastlane/lib/fastlane/actions/docs/build_app.md +245 -0
- data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +332 -0
- data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +375 -0
- data/fastlane/lib/fastlane/actions/docs/check_app_store_metadata.md +103 -0
- data/fastlane/lib/fastlane/actions/docs/create_app_online.md +386 -0
- data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +366 -0
- data/fastlane/lib/fastlane/actions/docs/get_certificates.md +86 -0
- data/fastlane/lib/fastlane/actions/docs/get_provisioning_profile.md +223 -0
- data/fastlane/lib/fastlane/actions/docs/get_push_certificate.md +134 -0
- data/fastlane/lib/fastlane/actions/docs/run_tests.md +151 -0
- data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +579 -0
- data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +748 -0
- data/fastlane/lib/fastlane/actions/docs/upload_to_play_store.md +204 -0
- data/fastlane/lib/fastlane/actions/docs/upload_to_testflight.md +260 -0
- data/fastlane/lib/fastlane/actions/dotgpg_environment.rb +57 -0
- data/fastlane/lib/fastlane/actions/download.rb +76 -0
- data/fastlane/lib/fastlane/actions/download_app_privacy_details_from_app_store.rb +142 -0
- data/fastlane/lib/fastlane/actions/download_dsyms.rb +357 -0
- data/fastlane/lib/fastlane/actions/download_from_play_store.rb +61 -0
- data/fastlane/lib/fastlane/actions/dsym_zip.rb +93 -0
- data/fastlane/lib/fastlane/actions/echo.rb +14 -0
- data/fastlane/lib/fastlane/actions/ensure_bundle_exec.rb +59 -0
- data/fastlane/lib/fastlane/actions/ensure_env_vars.rb +54 -0
- data/fastlane/lib/fastlane/actions/ensure_git_branch.rb +68 -0
- data/fastlane/lib/fastlane/actions/ensure_git_status_clean.rb +91 -0
- data/fastlane/lib/fastlane/actions/ensure_no_debug_code.rb +133 -0
- data/fastlane/lib/fastlane/actions/ensure_xcode_version.rb +124 -0
- data/fastlane/lib/fastlane/actions/environment_variable.rb +69 -0
- data/fastlane/lib/fastlane/actions/erb.rb +93 -0
- data/fastlane/lib/fastlane/actions/fastlane_version.rb +15 -0
- data/fastlane/lib/fastlane/actions/flock.rb +82 -0
- data/fastlane/lib/fastlane/actions/frame_screenshots.rb +64 -0
- data/fastlane/lib/fastlane/actions/frameit.rb +14 -0
- data/fastlane/lib/fastlane/actions/gcovr.rb +163 -0
- data/fastlane/lib/fastlane/actions/get_build_number.rb +106 -0
- data/fastlane/lib/fastlane/actions/get_build_number_repository.rb +120 -0
- data/fastlane/lib/fastlane/actions/get_certificates.rb +81 -0
- data/fastlane/lib/fastlane/actions/get_github_release.rb +176 -0
- data/fastlane/lib/fastlane/actions/get_info_plist_value.rb +78 -0
- data/fastlane/lib/fastlane/actions/get_ipa_info_plist_value.rb +81 -0
- data/fastlane/lib/fastlane/actions/get_managed_play_store_publishing_rights.rb +117 -0
- data/fastlane/lib/fastlane/actions/get_provisioning_profile.rb +109 -0
- data/fastlane/lib/fastlane/actions/get_push_certificate.rb +87 -0
- data/fastlane/lib/fastlane/actions/get_version_number.rb +207 -0
- data/fastlane/lib/fastlane/actions/git_add.rb +88 -0
- data/fastlane/lib/fastlane/actions/git_branch.rb +55 -0
- data/fastlane/lib/fastlane/actions/git_commit.rb +82 -0
- data/fastlane/lib/fastlane/actions/git_pull.rb +58 -0
- data/fastlane/lib/fastlane/actions/git_remote_branch.rb +57 -0
- data/fastlane/lib/fastlane/actions/git_submodule_update.rb +60 -0
- data/fastlane/lib/fastlane/actions/git_tag_exists.rb +78 -0
- data/fastlane/lib/fastlane/actions/github_api.rb +271 -0
- data/fastlane/lib/fastlane/actions/google_play_track_release_names.rb +74 -0
- data/fastlane/lib/fastlane/actions/google_play_track_version_codes.rb +77 -0
- data/fastlane/lib/fastlane/actions/gradle.rb +321 -0
- data/fastlane/lib/fastlane/actions/gym.rb +10 -0
- data/fastlane/lib/fastlane/actions/hg_add_tag.rb +48 -0
- data/fastlane/lib/fastlane/actions/hg_commit_version_bump.rb +183 -0
- data/fastlane/lib/fastlane/actions/hg_ensure_clean_status.rb +53 -0
- data/fastlane/lib/fastlane/actions/hg_push.rb +64 -0
- data/fastlane/lib/fastlane/actions/hipchat.rb +200 -0
- data/fastlane/lib/fastlane/actions/hockey.rb +399 -0
- data/fastlane/lib/fastlane/actions/ifttt.rb +93 -0
- data/fastlane/lib/fastlane/actions/import.rb +49 -0
- data/fastlane/lib/fastlane/actions/import_certificate.rb +77 -0
- data/fastlane/lib/fastlane/actions/import_from_git.rb +81 -0
- data/fastlane/lib/fastlane/actions/increment_build_number.rb +123 -0
- data/fastlane/lib/fastlane/actions/increment_version_number.rb +180 -0
- data/fastlane/lib/fastlane/actions/install_on_device.rb +92 -0
- data/fastlane/lib/fastlane/actions/install_provisioning_profile.rb +62 -0
- data/fastlane/lib/fastlane/actions/install_xcode_plugin.rb +91 -0
- data/fastlane/lib/fastlane/actions/installr.rb +129 -0
- data/fastlane/lib/fastlane/actions/ipa.rb +246 -0
- data/fastlane/lib/fastlane/actions/is_ci.rb +51 -0
- data/fastlane/lib/fastlane/actions/jazzy.rb +59 -0
- data/fastlane/lib/fastlane/actions/jira.rb +162 -0
- data/fastlane/lib/fastlane/actions/lane_context.rb +60 -0
- data/fastlane/lib/fastlane/actions/last_git_commit.rb +58 -0
- data/fastlane/lib/fastlane/actions/last_git_tag.rb +60 -0
- data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +155 -0
- data/fastlane/lib/fastlane/actions/lcov.rb +98 -0
- data/fastlane/lib/fastlane/actions/mailgun.rb +191 -0
- data/fastlane/lib/fastlane/actions/make_changelog_from_jenkins.rb +81 -0
- data/fastlane/lib/fastlane/actions/match.rb +14 -0
- data/fastlane/lib/fastlane/actions/match_nuke.rb +59 -0
- data/fastlane/lib/fastlane/actions/min_fastlane_version.rb +57 -0
- data/fastlane/lib/fastlane/actions/modify_services.rb +208 -0
- data/fastlane/lib/fastlane/actions/nexus_upload.rb +231 -0
- data/fastlane/lib/fastlane/actions/notarize.rb +237 -0
- data/fastlane/lib/fastlane/actions/notification.rb +75 -0
- data/fastlane/lib/fastlane/actions/notify.rb +40 -0
- data/fastlane/lib/fastlane/actions/number_of_commits.rb +75 -0
- data/fastlane/lib/fastlane/actions/oclint.rb +270 -0
- data/fastlane/lib/fastlane/actions/onesignal.rb +196 -0
- data/fastlane/lib/fastlane/actions/opt_out_crash_reporting.rb +33 -0
- data/fastlane/lib/fastlane/actions/opt_out_usage.rb +40 -0
- data/fastlane/lib/fastlane/actions/pem.rb +14 -0
- data/fastlane/lib/fastlane/actions/pilot.rb +14 -0
- data/fastlane/lib/fastlane/actions/pod_lib_lint.rb +189 -0
- data/fastlane/lib/fastlane/actions/pod_push.rb +180 -0
- data/fastlane/lib/fastlane/actions/podio_item.rb +210 -0
- data/fastlane/lib/fastlane/actions/precheck.rb +14 -0
- data/fastlane/lib/fastlane/actions/println.rb +14 -0
- data/fastlane/lib/fastlane/actions/produce.rb +14 -0
- data/fastlane/lib/fastlane/actions/prompt.rb +118 -0
- data/fastlane/lib/fastlane/actions/push_git_tags.rb +76 -0
- data/fastlane/lib/fastlane/actions/push_to_git_remote.rb +138 -0
- data/fastlane/lib/fastlane/actions/puts.rb +67 -0
- data/fastlane/lib/fastlane/actions/read_podspec.rb +90 -0
- data/fastlane/lib/fastlane/actions/recreate_schemes.rb +46 -0
- data/fastlane/lib/fastlane/actions/register_device.rb +148 -0
- data/fastlane/lib/fastlane/actions/register_devices.rb +211 -0
- data/fastlane/lib/fastlane/actions/reset_git_repo.rb +118 -0
- data/fastlane/lib/fastlane/actions/reset_simulator_contents.rb +90 -0
- data/fastlane/lib/fastlane/actions/resign.rb +125 -0
- data/fastlane/lib/fastlane/actions/restore_file.rb +44 -0
- data/fastlane/lib/fastlane/actions/rocket.rb +83 -0
- data/fastlane/lib/fastlane/actions/rsync.rb +71 -0
- data/fastlane/lib/fastlane/actions/ruby_version.rb +56 -0
- data/fastlane/lib/fastlane/actions/run_tests.rb +114 -0
- data/fastlane/lib/fastlane/actions/s3.rb +174 -0
- data/fastlane/lib/fastlane/actions/say.rb +55 -0
- data/fastlane/lib/fastlane/actions/scan.rb +14 -0
- data/fastlane/lib/fastlane/actions/scp.rb +108 -0
- data/fastlane/lib/fastlane/actions/screengrab.rb +14 -0
- data/fastlane/lib/fastlane/actions/set_build_number_repository.rb +76 -0
- data/fastlane/lib/fastlane/actions/set_changelog.rb +201 -0
- data/fastlane/lib/fastlane/actions/set_github_release.rb +281 -0
- data/fastlane/lib/fastlane/actions/set_info_plist_value.rb +92 -0
- data/fastlane/lib/fastlane/actions/set_pod_key.rb +77 -0
- data/fastlane/lib/fastlane/actions/setup_ci.rb +131 -0
- data/fastlane/lib/fastlane/actions/setup_circle_ci.rb +58 -0
- data/fastlane/lib/fastlane/actions/setup_jenkins.rb +197 -0
- data/fastlane/lib/fastlane/actions/setup_travis.rb +57 -0
- data/fastlane/lib/fastlane/actions/sh.rb +69 -0
- data/fastlane/lib/fastlane/actions/sigh.rb +14 -0
- data/fastlane/lib/fastlane/actions/skip_docs.rb +52 -0
- data/fastlane/lib/fastlane/actions/slack.rb +307 -0
- data/fastlane/lib/fastlane/actions/slather.rb +313 -0
- data/fastlane/lib/fastlane/actions/snapshot.rb +14 -0
- data/fastlane/lib/fastlane/actions/sonar.rb +170 -0
- data/fastlane/lib/fastlane/actions/sourcedocs.rb +128 -0
- data/fastlane/lib/fastlane/actions/spaceship_logs.rb +135 -0
- data/fastlane/lib/fastlane/actions/spaceship_stats.rb +73 -0
- data/fastlane/lib/fastlane/actions/splunkmint.rb +156 -0
- data/fastlane/lib/fastlane/actions/spm.rb +144 -0
- data/fastlane/lib/fastlane/actions/ssh.rb +157 -0
- data/fastlane/lib/fastlane/actions/supply.rb +14 -0
- data/fastlane/lib/fastlane/actions/swiftlint.rb +242 -0
- data/fastlane/lib/fastlane/actions/sync_code_signing.rb +114 -0
- data/fastlane/lib/fastlane/actions/team_id.rb +42 -0
- data/fastlane/lib/fastlane/actions/team_name.rb +42 -0
- data/fastlane/lib/fastlane/actions/testfairy.rb +284 -0
- data/fastlane/lib/fastlane/actions/testflight.rb +14 -0
- data/fastlane/lib/fastlane/actions/tryouts.rb +148 -0
- data/fastlane/lib/fastlane/actions/twitter.rb +84 -0
- data/fastlane/lib/fastlane/actions/typetalk.rb +93 -0
- data/fastlane/lib/fastlane/actions/unlock_keychain.rb +132 -0
- data/fastlane/lib/fastlane/actions/update_app_group_identifiers.rb +88 -0
- data/fastlane/lib/fastlane/actions/update_app_identifier.rb +124 -0
- data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +196 -0
- data/fastlane/lib/fastlane/actions/update_fastlane.rb +158 -0
- data/fastlane/lib/fastlane/actions/update_icloud_container_identifiers.rb +96 -0
- data/fastlane/lib/fastlane/actions/update_info_plist.rb +143 -0
- data/fastlane/lib/fastlane/actions/update_keychain_access_groups.rb +91 -0
- data/fastlane/lib/fastlane/actions/update_plist.rb +115 -0
- data/fastlane/lib/fastlane/actions/update_project_code_signing.rb +76 -0
- data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +172 -0
- data/fastlane/lib/fastlane/actions/update_project_team.rb +95 -0
- data/fastlane/lib/fastlane/actions/update_urban_airship_configuration.rb +90 -0
- data/fastlane/lib/fastlane/actions/update_url_schemes.rb +112 -0
- data/fastlane/lib/fastlane/actions/upload_app_privacy_details_to_app_store.rb +290 -0
- data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +232 -0
- data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +158 -0
- data/fastlane/lib/fastlane/actions/upload_to_app_store.rb +71 -0
- data/fastlane/lib/fastlane/actions/upload_to_play_store.rb +80 -0
- data/fastlane/lib/fastlane/actions/upload_to_play_store_internal_app_sharing.rb +78 -0
- data/fastlane/lib/fastlane/actions/upload_to_testflight.rb +124 -0
- data/fastlane/lib/fastlane/actions/validate_play_store_json_key.rb +100 -0
- data/fastlane/lib/fastlane/actions/verify_build.rb +199 -0
- data/fastlane/lib/fastlane/actions/verify_pod_keys.rb +67 -0
- data/fastlane/lib/fastlane/actions/verify_xcode.rb +159 -0
- data/fastlane/lib/fastlane/actions/version_bump_podspec.rb +105 -0
- data/fastlane/lib/fastlane/actions/version_get_podspec.rb +70 -0
- data/fastlane/lib/fastlane/actions/xcode_install.rb +108 -0
- data/fastlane/lib/fastlane/actions/xcode_select.rb +68 -0
- data/fastlane/lib/fastlane/actions/xcode_server_get_assets.rb +312 -0
- data/fastlane/lib/fastlane/actions/xcodebuild.rb +641 -0
- data/fastlane/lib/fastlane/actions/xcov.rb +66 -0
- data/fastlane/lib/fastlane/actions/xctool.rb +55 -0
- data/fastlane/lib/fastlane/actions/xcversion.rb +55 -0
- data/fastlane/lib/fastlane/actions/zip.rb +120 -0
- data/fastlane/lib/fastlane/auto_complete.rb +82 -0
- data/fastlane/lib/fastlane/boolean.rb +5 -0
- data/fastlane/lib/fastlane/cli_tools_distributor.rb +210 -0
- data/fastlane/lib/fastlane/command_line_handler.rb +49 -0
- data/fastlane/lib/fastlane/commands_generator.rb +370 -0
- data/fastlane/lib/fastlane/configuration_helper.rb +26 -0
- data/fastlane/lib/fastlane/core_ext/bundler_monkey_patch.rb +14 -0
- data/fastlane/lib/fastlane/documentation/actions_list.rb +214 -0
- data/fastlane/lib/fastlane/documentation/docs_generator.rb +89 -0
- data/fastlane/lib/fastlane/documentation/markdown_docs_generator.rb +228 -0
- data/fastlane/lib/fastlane/environment_printer.rb +304 -0
- data/fastlane/lib/fastlane/erb_template_helper.rb +36 -0
- data/fastlane/lib/fastlane/fast_file.rb +451 -0
- data/fastlane/lib/fastlane/fastlane_require.rb +81 -0
- data/fastlane/lib/fastlane/features.rb +4 -0
- data/fastlane/lib/fastlane/helper/README.md +29 -0
- data/fastlane/lib/fastlane/helper/adb_helper.rb +66 -0
- data/fastlane/lib/fastlane/helper/crashlytics_helper.rb +157 -0
- data/fastlane/lib/fastlane/helper/dotenv_helper.rb +50 -0
- data/fastlane/lib/fastlane/helper/gem_helper.rb +26 -0
- data/fastlane/lib/fastlane/helper/git_helper.rb +166 -0
- data/fastlane/lib/fastlane/helper/gradle_helper.rb +62 -0
- data/fastlane/lib/fastlane/helper/lane_helper.rb +13 -0
- data/fastlane/lib/fastlane/helper/podspec_helper.rb +75 -0
- data/fastlane/lib/fastlane/helper/s3_client_helper.rb +78 -0
- data/fastlane/lib/fastlane/helper/sh_helper.rb +134 -0
- data/fastlane/lib/fastlane/helper/xcodeproj_helper.rb +12 -0
- data/fastlane/lib/fastlane/helper/xcversion_helper.rb +25 -0
- data/fastlane/lib/fastlane/junit_generator.rb +27 -0
- data/fastlane/lib/fastlane/lane.rb +97 -0
- data/fastlane/lib/fastlane/lane_list.rb +137 -0
- data/fastlane/lib/fastlane/lane_manager.rb +131 -0
- data/fastlane/lib/fastlane/lane_manager_base.rb +92 -0
- data/fastlane/lib/fastlane/markdown_table_formatter.rb +62 -0
- data/fastlane/lib/fastlane/new_action.rb +47 -0
- data/fastlane/lib/fastlane/notification/slack.rb +56 -0
- data/fastlane/lib/fastlane/one_off.rb +45 -0
- data/fastlane/lib/fastlane/other_action.rb +29 -0
- data/fastlane/lib/fastlane/plugins/plugin_fetcher.rb +54 -0
- data/fastlane/lib/fastlane/plugins/plugin_generator.rb +86 -0
- data/fastlane/lib/fastlane/plugins/plugin_generator_ui.rb +19 -0
- data/fastlane/lib/fastlane/plugins/plugin_info.rb +49 -0
- data/fastlane/lib/fastlane/plugins/plugin_info_collector.rb +158 -0
- data/fastlane/lib/fastlane/plugins/plugin_manager.rb +398 -0
- data/fastlane/lib/fastlane/plugins/plugin_search.rb +46 -0
- data/fastlane/lib/fastlane/plugins/plugin_update_manager.rb +70 -0
- data/fastlane/lib/fastlane/plugins/plugins.rb +12 -0
- data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +36 -0
- data/fastlane/lib/fastlane/plugins/template/.circleci/config.yml +43 -0
- data/fastlane/lib/fastlane/plugins/template/.github/workflows/test.yml +29 -0
- data/fastlane/lib/fastlane/plugins/template/.gitignore +12 -0
- data/fastlane/lib/fastlane/plugins/template/.rspec +5 -0
- data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +184 -0
- data/fastlane/lib/fastlane/plugins/template/.travis.yml +4 -0
- data/fastlane/lib/fastlane/plugins/template/Gemfile +6 -0
- data/fastlane/lib/fastlane/plugins/template/LICENSE.erb +21 -0
- data/fastlane/lib/fastlane/plugins/template/README.md.erb +52 -0
- data/fastlane/lib/fastlane/plugins/template/Rakefile +9 -0
- data/fastlane/lib/fastlane/plugins/template/fastlane/Fastfile.erb +3 -0
- data/fastlane/lib/fastlane/plugins/template/fastlane/Pluginfile.erb +1 -0
- data/fastlane/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%.rb.erb +16 -0
- data/fastlane/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/actions/%plugin_name%_action.rb.erb +47 -0
- data/fastlane/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/helper/%plugin_name%_helper.rb.erb +16 -0
- data/fastlane/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/version.rb.erb +5 -0
- data/fastlane/lib/fastlane/plugins/template/spec/%plugin_name%_action_spec.rb.erb +9 -0
- data/fastlane/lib/fastlane/plugins/template/spec/spec_helper.rb.erb +15 -0
- data/fastlane/lib/fastlane/runner.rb +378 -0
- data/fastlane/lib/fastlane/server/action_command.rb +61 -0
- data/fastlane/lib/fastlane/server/action_command_return.rb +14 -0
- data/fastlane/lib/fastlane/server/command_executor.rb +7 -0
- data/fastlane/lib/fastlane/server/command_parser.rb +44 -0
- data/fastlane/lib/fastlane/server/control_command.rb +23 -0
- data/fastlane/lib/fastlane/server/json_return_value_processor.rb +72 -0
- data/fastlane/lib/fastlane/server/socket_server.rb +238 -0
- data/fastlane/lib/fastlane/server/socket_server_action_command_executor.rb +101 -0
- data/fastlane/lib/fastlane/setup/setup.rb +368 -0
- data/fastlane/lib/fastlane/setup/setup_android.rb +97 -0
- data/fastlane/lib/fastlane/setup/setup_ios.rb +504 -0
- data/fastlane/lib/fastlane/shells.rb +6 -0
- data/fastlane/lib/fastlane/supported_platforms.rb +28 -0
- data/fastlane/lib/fastlane/swift_fastlane_api_generator.rb +480 -0
- data/fastlane/lib/fastlane/swift_fastlane_function.rb +447 -0
- data/fastlane/lib/fastlane/swift_lane_manager.rb +296 -0
- data/fastlane/lib/fastlane/swift_runner_upgrader.rb +212 -0
- data/fastlane/lib/fastlane/tools.rb +33 -0
- data/fastlane/lib/fastlane/version.rb +6 -0
- data/fastlane/swift/Actions.swift +16 -0
- data/fastlane/swift/Appfile.swift +15 -0
- data/fastlane/swift/ArgumentProcessor.swift +89 -0
- data/fastlane/swift/ControlCommand.swift +74 -0
- data/fastlane/swift/Deliverfile.swift +20 -0
- data/fastlane/swift/DeliverfileProtocol.swift +259 -0
- data/fastlane/swift/Fastfile.swift +16 -0
- data/fastlane/swift/Fastlane.swift +13154 -0
- data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj +438 -0
- data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/xcshareddata/xcschemes/FastlaneRunner.xcscheme +97 -0
- data/fastlane/swift/FastlaneSwiftRunner/README.txt +10 -0
- data/fastlane/swift/Gymfile.swift +20 -0
- data/fastlane/swift/GymfileProtocol.swift +199 -0
- data/fastlane/swift/LaneFileProtocol.swift +155 -0
- data/fastlane/swift/MainProcess.swift +79 -0
- data/fastlane/swift/Matchfile.swift +20 -0
- data/fastlane/swift/MatchfileProtocol.swift +187 -0
- data/fastlane/swift/OptionalConfigValue.swift +101 -0
- data/fastlane/swift/Plugins.swift +16 -0
- data/fastlane/swift/Precheckfile.swift +20 -0
- data/fastlane/swift/PrecheckfileProtocol.swift +55 -0
- data/fastlane/swift/RubyCommand.swift +157 -0
- data/fastlane/swift/RubyCommandable.swift +43 -0
- data/fastlane/swift/Runner.swift +275 -0
- data/fastlane/swift/RunnerArgument.swift +20 -0
- data/fastlane/swift/Scanfile.swift +20 -0
- data/fastlane/swift/ScanfileProtocol.swift +295 -0
- data/fastlane/swift/Screengrabfile.swift +20 -0
- data/fastlane/swift/ScreengrabfileProtocol.swift +99 -0
- data/fastlane/swift/Snapshotfile.swift +20 -0
- data/fastlane/swift/SnapshotfileProtocol.swift +203 -0
- data/fastlane/swift/SocketClient.swift +328 -0
- data/fastlane/swift/SocketClientDelegateProtocol.swift +21 -0
- data/fastlane/swift/SocketResponse.swift +84 -0
- data/fastlane/swift/formatting/Brewfile +1 -0
- data/fastlane/swift/formatting/Brewfile.lock.json +55 -0
- data/fastlane/swift/formatting/Rakefile +18 -0
- data/fastlane/swift/main.swift +47 -0
- data/fastlane/swift/upgrade_manifest.json +1 -0
- data/fastlane_core/README.md +79 -0
- data/fastlane_core/lib/assets/XMLTemplate.xml.erb +12 -0
- data/fastlane_core/lib/fastlane_core.rb +48 -0
- data/fastlane_core/lib/fastlane_core/analytics/action_completion_context.rb +34 -0
- data/fastlane_core/lib/fastlane_core/analytics/action_launch_context.rb +38 -0
- data/fastlane_core/lib/fastlane_core/analytics/analytics_event_builder.rb +23 -0
- data/fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb +54 -0
- data/fastlane_core/lib/fastlane_core/analytics/analytics_session.rb +70 -0
- data/fastlane_core/lib/fastlane_core/analytics/app_identifier_guesser.rb +64 -0
- data/fastlane_core/lib/fastlane_core/android_package_name_guesser.rb +79 -0
- data/fastlane_core/lib/fastlane_core/build_watcher.rb +173 -0
- data/fastlane_core/lib/fastlane_core/cert_checker.rb +149 -0
- data/fastlane_core/lib/fastlane_core/clipboard.rb +20 -0
- data/fastlane_core/lib/fastlane_core/command_executor.rb +94 -0
- data/fastlane_core/lib/fastlane_core/configuration/commander_generator.rb +108 -0
- data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +359 -0
- data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +338 -0
- data/fastlane_core/lib/fastlane_core/configuration/configuration_file.rb +182 -0
- data/fastlane_core/lib/fastlane_core/core_ext/cfpropertylist.rb +23 -0
- data/fastlane_core/lib/fastlane_core/core_ext/shellwords.rb +63 -0
- data/fastlane_core/lib/fastlane_core/core_ext/string.rb +17 -0
- data/fastlane_core/lib/fastlane_core/device_manager.rb +374 -0
- data/fastlane_core/lib/fastlane_core/env.rb +9 -0
- data/fastlane_core/lib/fastlane_core/fastlane_folder.rb +72 -0
- data/fastlane_core/lib/fastlane_core/fastlane_pty.rb +57 -0
- data/fastlane_core/lib/fastlane_core/feature/feature.rb +51 -0
- data/fastlane_core/lib/fastlane_core/features.rb +4 -0
- data/fastlane_core/lib/fastlane_core/globals.rb +27 -0
- data/fastlane_core/lib/fastlane_core/helper.rb +501 -0
- data/fastlane_core/lib/fastlane_core/ios_app_identifier_guesser.rb +112 -0
- data/fastlane_core/lib/fastlane_core/ipa_file_analyser.rb +88 -0
- data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +53 -0
- data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +600 -0
- data/fastlane_core/lib/fastlane_core/keychain_importer.rb +120 -0
- data/fastlane_core/lib/fastlane_core/languages.rb +16 -0
- data/fastlane_core/lib/fastlane_core/module.rb +31 -0
- data/fastlane_core/lib/fastlane_core/pkg_file_analyser.rb +51 -0
- data/fastlane_core/lib/fastlane_core/pkg_upload_package_builder.rb +49 -0
- data/fastlane_core/lib/fastlane_core/print_table.rb +133 -0
- data/fastlane_core/lib/fastlane_core/project.rb +529 -0
- data/fastlane_core/lib/fastlane_core/provisioning_profile.rb +126 -0
- data/fastlane_core/lib/fastlane_core/queue_worker.rb +49 -0
- data/fastlane_core/lib/fastlane_core/string_filters.rb +51 -0
- data/fastlane_core/lib/fastlane_core/swag.rb +85 -0
- data/fastlane_core/lib/fastlane_core/tag_version.rb +31 -0
- data/fastlane_core/lib/fastlane_core/test_parser.rb +107 -0
- data/fastlane_core/lib/fastlane_core/ui/disable_colors.rb +25 -0
- data/fastlane_core/lib/fastlane_core/ui/errors.rb +1 -0
- data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_common_error.rb +19 -0
- data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_crash.rb +11 -0
- data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_error.rb +25 -0
- data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_exception.rb +19 -0
- data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_shell_error.rb +11 -0
- data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +294 -0
- data/fastlane_core/lib/fastlane_core/ui/github_issue_inspector_reporter.rb +62 -0
- data/fastlane_core/lib/fastlane_core/ui/help.erb +35 -0
- data/fastlane_core/lib/fastlane_core/ui/help_formatter.rb +16 -0
- data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +173 -0
- data/fastlane_core/lib/fastlane_core/ui/interface.rb +205 -0
- data/fastlane_core/lib/fastlane_core/ui/ui.rb +26 -0
- data/fastlane_core/lib/fastlane_core/update_checker/changelog.rb +37 -0
- data/fastlane_core/lib/fastlane_core/update_checker/update_checker.rb +109 -0
- data/frameit/README.md +17 -0
- data/frameit/lib/assets/empty.png +0 -0
- data/frameit/lib/frameit.rb +13 -0
- data/frameit/lib/frameit/commands_generator.rb +141 -0
- data/frameit/lib/frameit/config_parser.rb +136 -0
- data/frameit/lib/frameit/dependency_checker.rb +22 -0
- data/frameit/lib/frameit/device.rb +90 -0
- data/frameit/lib/frameit/device_types.rb +150 -0
- data/frameit/lib/frameit/editor.rb +560 -0
- data/frameit/lib/frameit/frame_downloader.rb +86 -0
- data/frameit/lib/frameit/mac_editor.rb +35 -0
- data/frameit/lib/frameit/module.rb +42 -0
- data/frameit/lib/frameit/offsets.rb +28 -0
- data/frameit/lib/frameit/options.rb +112 -0
- data/frameit/lib/frameit/runner.rb +97 -0
- data/frameit/lib/frameit/screenshot.rb +134 -0
- data/frameit/lib/frameit/strings_parser.rb +46 -0
- data/frameit/lib/frameit/template_finder.rb +45 -0
- data/frameit/lib/frameit/trim_box.rb +35 -0
- data/gym/README.md +17 -0
- data/gym/lib/assets/GymfileTemplate +13 -0
- data/gym/lib/assets/GymfileTemplate.swift +13 -0
- data/gym/lib/assets/wrap_xcodebuild/xcbuild-safe.sh +61 -0
- data/gym/lib/gym.rb +9 -0
- data/gym/lib/gym/code_signing_mapping.rb +210 -0
- data/gym/lib/gym/commands_generator.rb +79 -0
- data/gym/lib/gym/detect_values.rb +206 -0
- data/gym/lib/gym/error_handler.rb +314 -0
- data/gym/lib/gym/generators/README.md +1 -0
- data/gym/lib/gym/generators/build_command_generator.rb +150 -0
- data/gym/lib/gym/generators/package_command_generator.rb +72 -0
- data/gym/lib/gym/generators/package_command_generator_xcode7.rb +238 -0
- data/gym/lib/gym/manager.rb +22 -0
- data/gym/lib/gym/module.rb +74 -0
- data/gym/lib/gym/options.rb +302 -0
- data/gym/lib/gym/runner.rb +376 -0
- data/gym/lib/gym/xcode.rb +27 -0
- data/gym/lib/gym/xcodebuild_fixes/README.md +9 -0
- data/gym/lib/gym/xcodebuild_fixes/generic_archive_fix.rb +35 -0
- data/match/README.md +17 -0
- data/match/lib/assets/MatchfileTemplate +11 -0
- data/match/lib/assets/MatchfileTemplate.swift +9 -0
- data/match/lib/assets/READMETemplate.md +59 -0
- data/match/lib/match.rb +14 -0
- data/match/lib/match/change_password.rb +53 -0
- data/match/lib/match/commands_generator.rb +191 -0
- data/match/lib/match/encryption.rb +49 -0
- data/match/lib/match/encryption/interface.rb +17 -0
- data/match/lib/match/encryption/openssl.rb +163 -0
- data/match/lib/match/generator.rb +122 -0
- data/match/lib/match/importer.rb +156 -0
- data/match/lib/match/migrate.rb +108 -0
- data/match/lib/match/module.rb +33 -0
- data/match/lib/match/nuke.rb +354 -0
- data/match/lib/match/options.rb +316 -0
- data/match/lib/match/runner.rb +368 -0
- data/match/lib/match/setup.rb +40 -0
- data/match/lib/match/spaceship_ensure.rb +100 -0
- data/match/lib/match/storage.rb +46 -0
- data/match/lib/match/storage/git_storage.rb +254 -0
- data/match/lib/match/storage/google_cloud_storage.rb +382 -0
- data/match/lib/match/storage/interface.rb +119 -0
- data/match/lib/match/storage/s3_storage.rb +205 -0
- data/match/lib/match/table_printer.rb +51 -0
- data/match/lib/match/utils.rb +75 -0
- data/pem/README.md +17 -0
- data/pem/lib/pem.rb +4 -0
- data/pem/lib/pem/commands_generator.rb +48 -0
- data/pem/lib/pem/manager.rb +112 -0
- data/pem/lib/pem/module.rb +19 -0
- data/pem/lib/pem/options.rb +103 -0
- data/pilot/README.md +17 -0
- data/pilot/lib/pilot.rb +8 -0
- data/pilot/lib/pilot/build_manager.rb +572 -0
- data/pilot/lib/pilot/commands_generator.rb +175 -0
- data/pilot/lib/pilot/manager.rb +93 -0
- data/pilot/lib/pilot/module.rb +11 -0
- data/pilot/lib/pilot/options.rb +312 -0
- data/pilot/lib/pilot/tester_exporter.rb +57 -0
- data/pilot/lib/pilot/tester_importer.rb +53 -0
- data/pilot/lib/pilot/tester_manager.rb +167 -0
- data/precheck/README.md +17 -0
- data/precheck/lib/assets/PrecheckfileTemplate +27 -0
- data/precheck/lib/assets/PrecheckfileTemplate.swift +19 -0
- data/precheck/lib/precheck.rb +3 -0
- data/precheck/lib/precheck/commands_generator.rb +75 -0
- data/precheck/lib/precheck/item_to_check.rb +58 -0
- data/precheck/lib/precheck/module.rb +21 -0
- data/precheck/lib/precheck/options.rb +110 -0
- data/precheck/lib/precheck/rule.rb +171 -0
- data/precheck/lib/precheck/rule_check_result.rb +19 -0
- data/precheck/lib/precheck/rule_processor.rb +265 -0
- data/precheck/lib/precheck/rules/abstract_text_match_rule.rb +80 -0
- data/precheck/lib/precheck/rules/all.rb +1 -0
- data/precheck/lib/precheck/rules/copyright_date_rule.rb +37 -0
- data/precheck/lib/precheck/rules/curse_words_rule.rb +62 -0
- data/precheck/lib/precheck/rules/custom_text_rule.rb +35 -0
- data/precheck/lib/precheck/rules/free_stuff_iap_rule.rb +31 -0
- data/precheck/lib/precheck/rules/future_functionality_rule.rb +33 -0
- data/precheck/lib/precheck/rules/negative_apple_sentiment_rule.rb +37 -0
- data/precheck/lib/precheck/rules/other_platforms_rule.rb +43 -0
- data/precheck/lib/precheck/rules/placeholder_words_rule.rb +31 -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 +30 -0
- data/precheck/lib/precheck/rules/unreachable_urls_rule.rb +47 -0
- data/precheck/lib/precheck/runner.rb +202 -0
- data/produce/README.md +17 -0
- data/produce/lib/produce.rb +6 -0
- data/produce/lib/produce/available_default_languages.rb +51 -0
- data/produce/lib/produce/cloud_container.rb +82 -0
- data/produce/lib/produce/commands_generator.rb +309 -0
- data/produce/lib/produce/developer_center.rb +181 -0
- data/produce/lib/produce/group.rb +90 -0
- data/produce/lib/produce/itunes_connect.rb +139 -0
- data/produce/lib/produce/manager.rb +15 -0
- data/produce/lib/produce/merchant.rb +121 -0
- data/produce/lib/produce/module.rb +14 -0
- data/produce/lib/produce/options.rb +184 -0
- data/produce/lib/produce/service.rb +410 -0
- data/scan/README.md +17 -0
- data/scan/lib/assets/ScanfileTemplate +16 -0
- data/scan/lib/assets/ScanfileTemplate.swift +13 -0
- data/scan/lib/scan.rb +10 -0
- data/scan/lib/scan/commands_generator.rb +79 -0
- data/scan/lib/scan/detect_values.rb +229 -0
- data/scan/lib/scan/error_handler.rb +57 -0
- data/scan/lib/scan/manager.rb +38 -0
- data/scan/lib/scan/module.rb +36 -0
- data/scan/lib/scan/options.rb +490 -0
- data/scan/lib/scan/runner.rb +282 -0
- data/scan/lib/scan/slack_poster.rb +63 -0
- data/scan/lib/scan/test_command_generator.rb +179 -0
- data/scan/lib/scan/test_result_parser.rb +33 -0
- data/scan/lib/scan/xcpretty_reporter_options_generator.rb +85 -0
- data/screengrab/README.md +17 -0
- data/screengrab/lib/assets/ScreengrabfileTemplate +15 -0
- data/screengrab/lib/assets/ScreengrabfileTemplate.swift +15 -0
- data/screengrab/lib/screengrab.rb +7 -0
- data/screengrab/lib/screengrab/android_environment.rb +43 -0
- data/screengrab/lib/screengrab/commands_generator.rb +71 -0
- data/screengrab/lib/screengrab/dependency_checker.rb +38 -0
- data/screengrab/lib/screengrab/detect_values.rb +16 -0
- data/screengrab/lib/screengrab/module.rb +26 -0
- data/screengrab/lib/screengrab/options.rb +151 -0
- data/screengrab/lib/screengrab/page.html.erb +190 -0
- data/screengrab/lib/screengrab/reports_generator.rb +36 -0
- data/screengrab/lib/screengrab/runner.rb +452 -0
- data/screengrab/lib/screengrab/setup.rb +24 -0
- data/sigh/README.md +17 -0
- data/sigh/lib/assets/resign.sh +929 -0
- data/sigh/lib/sigh.rb +4 -0
- data/sigh/lib/sigh/commands_generator.rb +155 -0
- data/sigh/lib/sigh/download_all.rb +108 -0
- data/sigh/lib/sigh/local_manage.rb +145 -0
- data/sigh/lib/sigh/manager.rb +47 -0
- data/sigh/lib/sigh/module.rb +42 -0
- data/sigh/lib/sigh/options.rb +188 -0
- data/sigh/lib/sigh/repair.rb +34 -0
- data/sigh/lib/sigh/resign.rb +220 -0
- data/sigh/lib/sigh/runner.rb +402 -0
- data/snapshot/README.md +17 -0
- data/snapshot/lib/assets/SnapfileTemplate +38 -0
- data/snapshot/lib/assets/SnapfileTemplate.swift +42 -0
- data/snapshot/lib/assets/SnapshotHelper.swift +309 -0
- data/snapshot/lib/assets/SnapshotHelperXcode8.swift +172 -0
- data/snapshot/lib/snapshot.rb +19 -0
- data/snapshot/lib/snapshot/collector.rb +140 -0
- data/snapshot/lib/snapshot/commands_generator.rb +117 -0
- data/snapshot/lib/snapshot/dependency_checker.rb +69 -0
- data/snapshot/lib/snapshot/detect_values.rb +86 -0
- data/snapshot/lib/snapshot/error_handler.rb +24 -0
- data/snapshot/lib/snapshot/fixes/README.md +5 -0
- data/snapshot/lib/snapshot/fixes/hardware_keyboard_fix.rb +27 -0
- data/snapshot/lib/snapshot/fixes/simulator_shared_pasteboard.rb +16 -0
- data/snapshot/lib/snapshot/fixes/simulator_zoom_fix.rb +27 -0
- data/snapshot/lib/snapshot/latest_os_version.rb +34 -0
- data/snapshot/lib/snapshot/module.rb +44 -0
- data/snapshot/lib/snapshot/options.rb +310 -0
- data/snapshot/lib/snapshot/page.html.erb +285 -0
- data/snapshot/lib/snapshot/reports_generator.rb +145 -0
- data/snapshot/lib/snapshot/reset_simulators.rb +122 -0
- data/snapshot/lib/snapshot/runner.rb +146 -0
- data/snapshot/lib/snapshot/screenshot_flatten.rb +20 -0
- data/snapshot/lib/snapshot/screenshot_rotate.rb +36 -0
- data/snapshot/lib/snapshot/setup.rb +58 -0
- data/snapshot/lib/snapshot/simulator_launchers/launcher_configuration.rb +64 -0
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +219 -0
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +205 -0
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_xcode_8.rb +113 -0
- data/snapshot/lib/snapshot/test_command_generator.rb +122 -0
- data/snapshot/lib/snapshot/test_command_generator_base.rb +130 -0
- data/snapshot/lib/snapshot/test_command_generator_xcode_8.rb +70 -0
- data/snapshot/lib/snapshot/update.rb +38 -0
- data/spaceship/README.md +173 -0
- data/spaceship/lib/assets/displayFamilies.json +181 -0
- data/spaceship/lib/assets/languageMapping.json +306 -0
- data/spaceship/lib/assets/languageMappingReadable.json +30 -0
- data/spaceship/lib/spaceship.rb +30 -0
- data/spaceship/lib/spaceship/base.rb +310 -0
- data/spaceship/lib/spaceship/client.rb +941 -0
- data/spaceship/lib/spaceship/commands_generator.rb +55 -0
- data/spaceship/lib/spaceship/connect_api.rb +122 -0
- data/spaceship/lib/spaceship/connect_api/api_client.rb +337 -0
- data/spaceship/lib/spaceship/connect_api/client.rb +216 -0
- data/spaceship/lib/spaceship/connect_api/file_uploader.rb +99 -0
- data/spaceship/lib/spaceship/connect_api/model.rb +172 -0
- data/spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb +147 -0
- data/spaceship/lib/spaceship/connect_api/models/app.rb +428 -0
- data/spaceship/lib/spaceship/connect_api/models/app_category.rb +94 -0
- data/spaceship/lib/spaceship/connect_api/models/app_data_usage.rb +59 -0
- data/spaceship/lib/spaceship/connect_api/models/app_data_usage_category.rb +65 -0
- data/spaceship/lib/spaceship/connect_api/models/app_data_usage_data_protection.rb +27 -0
- data/spaceship/lib/spaceship/connect_api/models/app_data_usage_grouping.rb +18 -0
- data/spaceship/lib/spaceship/connect_api/models/app_data_usage_purposes.rb +37 -0
- data/spaceship/lib/spaceship/connect_api/models/app_data_usages_publish_state.rb +36 -0
- data/spaceship/lib/spaceship/connect_api/models/app_info.rb +111 -0
- data/spaceship/lib/spaceship/connect_api/models/app_info_localization.rb +43 -0
- data/spaceship/lib/spaceship/connect_api/models/app_preview.rb +135 -0
- data/spaceship/lib/spaceship/connect_api/models/app_preview_set.rb +109 -0
- data/spaceship/lib/spaceship/connect_api/models/app_price.rb +22 -0
- data/spaceship/lib/spaceship/connect_api/models/app_price_point.rb +26 -0
- data/spaceship/lib/spaceship/connect_api/models/app_price_tier.rb +12 -0
- data/spaceship/lib/spaceship/connect_api/models/app_screenshot.rb +189 -0
- data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +162 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_review_attachment.rb +73 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_review_detail.rb +53 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +241 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +98 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version_phased_release.rb +57 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version_release_request.rb +12 -0
- data/spaceship/lib/spaceship/connect_api/models/app_store_version_submission.rb +27 -0
- data/spaceship/lib/spaceship/connect_api/models/beta_app_localization.rb +28 -0
- data/spaceship/lib/spaceship/connect_api/models/beta_app_review_detail.rb +32 -0
- data/spaceship/lib/spaceship/connect_api/models/beta_app_review_submission.rb +27 -0
- data/spaceship/lib/spaceship/connect_api/models/beta_build_localization.rb +20 -0
- data/spaceship/lib/spaceship/connect_api/models/beta_build_metric.rb +24 -0
- data/spaceship/lib/spaceship/connect_api/models/beta_feedback.rb +77 -0
- data/spaceship/lib/spaceship/connect_api/models/beta_group.rb +67 -0
- data/spaceship/lib/spaceship/connect_api/models/beta_screenshot.rb +18 -0
- data/spaceship/lib/spaceship/connect_api/models/beta_tester.rb +63 -0
- data/spaceship/lib/spaceship/connect_api/models/beta_tester_metric.rb +44 -0
- data/spaceship/lib/spaceship/connect_api/models/build.rb +189 -0
- data/spaceship/lib/spaceship/connect_api/models/build_beta_detail.rb +65 -0
- data/spaceship/lib/spaceship/connect_api/models/build_delivery.rb +37 -0
- data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +93 -0
- data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +136 -0
- data/spaceship/lib/spaceship/connect_api/models/certificate.rb +106 -0
- data/spaceship/lib/spaceship/connect_api/models/custom_app_organization.rb +43 -0
- data/spaceship/lib/spaceship/connect_api/models/custom_app_user.rb +41 -0
- data/spaceship/lib/spaceship/connect_api/models/device.rb +90 -0
- data/spaceship/lib/spaceship/connect_api/models/idfa_declaration.rb +43 -0
- data/spaceship/lib/spaceship/connect_api/models/pre_release_version.rb +20 -0
- data/spaceship/lib/spaceship/connect_api/models/profile.rb +107 -0
- data/spaceship/lib/spaceship/connect_api/models/reset_ratings_request.rb +27 -0
- data/spaceship/lib/spaceship/connect_api/models/sandbox_tester.rb +67 -0
- data/spaceship/lib/spaceship/connect_api/models/territory.rb +28 -0
- data/spaceship/lib/spaceship/connect_api/models/user.rb +53 -0
- data/spaceship/lib/spaceship/connect_api/models/user_invitation.rb +75 -0
- data/spaceship/lib/spaceship/connect_api/provisioning/client.rb +92 -0
- data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +240 -0
- data/spaceship/lib/spaceship/connect_api/response.rb +69 -0
- data/spaceship/lib/spaceship/connect_api/spaceship.rb +102 -0
- data/spaceship/lib/spaceship/connect_api/testflight/client.rb +24 -0
- data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +441 -0
- data/spaceship/lib/spaceship/connect_api/token.rb +114 -0
- data/spaceship/lib/spaceship/connect_api/token_refresh_middleware.rb +24 -0
- data/spaceship/lib/spaceship/connect_api/tunes/client.rb +24 -0
- data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +1165 -0
- data/spaceship/lib/spaceship/connect_api/users/client.rb +24 -0
- data/spaceship/lib/spaceship/connect_api/users/users.rb +80 -0
- data/spaceship/lib/spaceship/du/du_client.rb +138 -0
- data/spaceship/lib/spaceship/du/upload_file.rb +58 -0
- data/spaceship/lib/spaceship/du/utilities.rb +99 -0
- data/spaceship/lib/spaceship/errors.rb +101 -0
- data/spaceship/lib/spaceship/globals.rb +12 -0
- data/spaceship/lib/spaceship/helper/net_http_generic_request.rb +20 -0
- data/spaceship/lib/spaceship/helper/plist_middleware.rb +16 -0
- data/spaceship/lib/spaceship/helper/rels_middleware.rb +28 -0
- data/spaceship/lib/spaceship/launcher.rb +99 -0
- data/spaceship/lib/spaceship/module.rb +8 -0
- data/spaceship/lib/spaceship/playground.rb +75 -0
- data/spaceship/lib/spaceship/portal/app.rb +201 -0
- data/spaceship/lib/spaceship/portal/app_group.rb +73 -0
- data/spaceship/lib/spaceship/portal/app_service.rb +87 -0
- data/spaceship/lib/spaceship/portal/certificate.rb +365 -0
- data/spaceship/lib/spaceship/portal/cloud_container.rb +74 -0
- data/spaceship/lib/spaceship/portal/device.rb +191 -0
- data/spaceship/lib/spaceship/portal/invite.rb +53 -0
- data/spaceship/lib/spaceship/portal/key.rb +101 -0
- data/spaceship/lib/spaceship/portal/legacy_wrapper.rb +21 -0
- data/spaceship/lib/spaceship/portal/merchant.rb +86 -0
- data/spaceship/lib/spaceship/portal/passbook.rb +78 -0
- data/spaceship/lib/spaceship/portal/person.rb +62 -0
- data/spaceship/lib/spaceship/portal/persons.rb +67 -0
- data/spaceship/lib/spaceship/portal/portal.rb +17 -0
- data/spaceship/lib/spaceship/portal/portal_base.rb +16 -0
- data/spaceship/lib/spaceship/portal/portal_client.rb +862 -0
- data/spaceship/lib/spaceship/portal/provisioning_profile.rb +559 -0
- data/spaceship/lib/spaceship/portal/provisioning_profile_template.rb +52 -0
- data/spaceship/lib/spaceship/portal/spaceship.rb +154 -0
- data/spaceship/lib/spaceship/portal/ui/select_team.rb +116 -0
- data/spaceship/lib/spaceship/portal/website_push.rb +88 -0
- data/spaceship/lib/spaceship/provider.rb +13 -0
- data/spaceship/lib/spaceship/spaceauth_runner.rb +97 -0
- data/spaceship/lib/spaceship/stats_middleware.rb +65 -0
- data/spaceship/lib/spaceship/test_flight.rb +10 -0
- data/spaceship/lib/spaceship/test_flight/app_test_info.rb +40 -0
- data/spaceship/lib/spaceship/test_flight/base.rb +39 -0
- data/spaceship/lib/spaceship/test_flight/beta_review_info.rb +19 -0
- data/spaceship/lib/spaceship/test_flight/build.rb +242 -0
- data/spaceship/lib/spaceship/test_flight/build_trains.rb +50 -0
- data/spaceship/lib/spaceship/test_flight/client.rb +361 -0
- data/spaceship/lib/spaceship/test_flight/export_compliance.rb +12 -0
- data/spaceship/lib/spaceship/test_flight/group.rb +131 -0
- data/spaceship/lib/spaceship/test_flight/test_info.rb +56 -0
- data/spaceship/lib/spaceship/test_flight/tester.rb +136 -0
- data/spaceship/lib/spaceship/tunes/app_analytics.rb +168 -0
- data/spaceship/lib/spaceship/tunes/app_details.rb +147 -0
- data/spaceship/lib/spaceship/tunes/app_image.rb +51 -0
- data/spaceship/lib/spaceship/tunes/app_ratings.rb +58 -0
- data/spaceship/lib/spaceship/tunes/app_review.rb +55 -0
- data/spaceship/lib/spaceship/tunes/app_review_attachment.rb +49 -0
- data/spaceship/lib/spaceship/tunes/app_screenshot.rb +12 -0
- data/spaceship/lib/spaceship/tunes/app_status.rb +63 -0
- data/spaceship/lib/spaceship/tunes/app_submission.rb +161 -0
- data/spaceship/lib/spaceship/tunes/app_trailer.rb +64 -0
- data/spaceship/lib/spaceship/tunes/app_version.rb +970 -0
- data/spaceship/lib/spaceship/tunes/app_version_common.rb +35 -0
- data/spaceship/lib/spaceship/tunes/app_version_generated_promocodes.rb +28 -0
- data/spaceship/lib/spaceship/tunes/app_version_history.rb +52 -0
- data/spaceship/lib/spaceship/tunes/app_version_promocodes.rb +27 -0
- data/spaceship/lib/spaceship/tunes/app_version_ref.rb +15 -0
- data/spaceship/lib/spaceship/tunes/app_version_states_history.rb +27 -0
- data/spaceship/lib/spaceship/tunes/application.rb +453 -0
- data/spaceship/lib/spaceship/tunes/availability.rb +164 -0
- data/spaceship/lib/spaceship/tunes/b2b_organization.rb +50 -0
- data/spaceship/lib/spaceship/tunes/b2b_user.rb +30 -0
- data/spaceship/lib/spaceship/tunes/build.rb +263 -0
- data/spaceship/lib/spaceship/tunes/build_details.rb +184 -0
- data/spaceship/lib/spaceship/tunes/build_train.rb +181 -0
- data/spaceship/lib/spaceship/tunes/developer_response.rb +23 -0
- data/spaceship/lib/spaceship/tunes/device_type.rb +17 -0
- data/spaceship/lib/spaceship/tunes/display_family.rb +84 -0
- data/spaceship/lib/spaceship/tunes/errors.rb +17 -0
- data/spaceship/lib/spaceship/tunes/iap.rb +168 -0
- data/spaceship/lib/spaceship/tunes/iap_detail.rb +264 -0
- data/spaceship/lib/spaceship/tunes/iap_families.rb +68 -0
- data/spaceship/lib/spaceship/tunes/iap_family_details.rb +90 -0
- data/spaceship/lib/spaceship/tunes/iap_family_list.rb +28 -0
- data/spaceship/lib/spaceship/tunes/iap_list.rb +76 -0
- data/spaceship/lib/spaceship/tunes/iap_status.rb +56 -0
- data/spaceship/lib/spaceship/tunes/iap_subscription_pricing_info.rb +46 -0
- data/spaceship/lib/spaceship/tunes/iap_subscription_pricing_tier.rb +25 -0
- data/spaceship/lib/spaceship/tunes/iap_type.rb +45 -0
- data/spaceship/lib/spaceship/tunes/language_converter.rb +65 -0
- data/spaceship/lib/spaceship/tunes/language_item.rb +61 -0
- data/spaceship/lib/spaceship/tunes/legacy_wrapper.rb +13 -0
- data/spaceship/lib/spaceship/tunes/member.rb +84 -0
- data/spaceship/lib/spaceship/tunes/members.rb +35 -0
- data/spaceship/lib/spaceship/tunes/pricing_info.rb +42 -0
- data/spaceship/lib/spaceship/tunes/pricing_tier.rb +25 -0
- data/spaceship/lib/spaceship/tunes/sandbox_tester.rb +74 -0
- data/spaceship/lib/spaceship/tunes/spaceship.rb +39 -0
- data/spaceship/lib/spaceship/tunes/territory.rb +39 -0
- data/spaceship/lib/spaceship/tunes/transit_app_file.rb +23 -0
- data/spaceship/lib/spaceship/tunes/tunes.rb +35 -0
- data/spaceship/lib/spaceship/tunes/tunes_base.rb +17 -0
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +1644 -0
- data/spaceship/lib/spaceship/tunes/user_detail.rb +15 -0
- data/spaceship/lib/spaceship/tunes/version_set.rb +26 -0
- data/spaceship/lib/spaceship/two_step_or_factor_client.rb +372 -0
- data/spaceship/lib/spaceship/ui.rb +27 -0
- data/spaceship/lib/spaceship/upgrade_2fa_later_client.rb +91 -0
- data/supply/README.md +17 -0
- data/supply/lib/supply.rb +53 -0
- data/supply/lib/supply/apk_listing.rb +14 -0
- data/supply/lib/supply/client.rb +553 -0
- data/supply/lib/supply/commands_generator.rb +68 -0
- data/supply/lib/supply/languages.rb +88 -0
- data/supply/lib/supply/listing.rb +32 -0
- data/supply/lib/supply/options.rb +324 -0
- data/supply/lib/supply/reader.rb +41 -0
- data/supply/lib/supply/release_listing.rb +18 -0
- data/supply/lib/supply/setup.rb +122 -0
- data/supply/lib/supply/uploader.rb +482 -0
- metadata +1864 -0
@@ -0,0 +1,386 @@
|
|
1
|
+
<p align="center">
|
2
|
+
<img src="/img/actions/produce.png" width="250">
|
3
|
+
</p>
|
4
|
+
|
5
|
+
###### Create new iOS apps on App Store Connect and Apple Developer Portal using your command line
|
6
|
+
|
7
|
+
_produce_ creates new iOS apps on both the Apple Developer Portal and App Store Connect with the minimum required information.
|
8
|
+
|
9
|
+
-------
|
10
|
+
|
11
|
+
<p align="center">
|
12
|
+
<a href="#features">Features</a> •
|
13
|
+
<a href="#usage">Usage</a> •
|
14
|
+
<a href="#how-does-it-work">How does it work?</a>
|
15
|
+
</p>
|
16
|
+
|
17
|
+
-------
|
18
|
+
|
19
|
+
# Features
|
20
|
+
|
21
|
+
- **Create** new apps on both App Store Connect and the Apple Developer Portal
|
22
|
+
- **Modify** Application Services on the Apple Developer Portal
|
23
|
+
- **Create** App Groups on the Apple Developer Portal
|
24
|
+
- **Associate** apps with App Groups on the Apple Developer Portal
|
25
|
+
- **Create** iCloud Containers on the Apple Developer Portal
|
26
|
+
- **Associate** apps with iCloud Containers on the Apple Developer Portal
|
27
|
+
- **Create** Merchant Identifiers on the Apple Developer Portal
|
28
|
+
- **Associate** apps with Merchant Identifiers on the Apple Developer Portal
|
29
|
+
- Support for **multiple Apple accounts**, storing your credentials securely in the Keychain
|
30
|
+
|
31
|
+
# Usage
|
32
|
+
|
33
|
+
## Creating a new application
|
34
|
+
|
35
|
+
```no-highlight
|
36
|
+
fastlane produce
|
37
|
+
```
|
38
|
+
|
39
|
+
To get a list of all available parameters:
|
40
|
+
|
41
|
+
```no-highlight
|
42
|
+
fastlane produce --help
|
43
|
+
```
|
44
|
+
|
45
|
+
```no-highlight
|
46
|
+
Commands: (* default)
|
47
|
+
associate_group Associate with a group, which is created if needed or simply located otherwise
|
48
|
+
associate_merchant Associate with a merchant for use with Apple Pay. Apple Pay will be enabled for this app
|
49
|
+
create * Creates a new app on App Store Connect and the Apple Developer Portal
|
50
|
+
disable_services Disable specific Application Services for a specific app on the Apple Developer Portal
|
51
|
+
enable_services Enable specific Application Services for a specific app on the Apple Developer Portal
|
52
|
+
group Ensure that a specific App Group exists
|
53
|
+
cloud_container Ensure that a specific iCloud Container exists
|
54
|
+
help Display global or [command] help documentation
|
55
|
+
merchant Ensure that a specific Merchant exists
|
56
|
+
|
57
|
+
Global Options:
|
58
|
+
--verbose
|
59
|
+
-h, --help Display help documentation
|
60
|
+
-v, --version Display version information
|
61
|
+
|
62
|
+
Options for create:
|
63
|
+
-u, --username STRING Your Apple ID Username (PRODUCE_USERNAME)
|
64
|
+
-a, --app_identifier STRING App Identifier (Bundle ID, e.g. com.krausefx.app) (PRODUCE_APP_IDENTIFIER)
|
65
|
+
-e, --bundle_identifier_suffix STRING App Identifier Suffix (Ignored if App Identifier does not ends with .*) (PRODUCE_APP_IDENTIFIER_SUFFIX)
|
66
|
+
-q, --app_name STRING App Name (PRODUCE_APP_NAME)
|
67
|
+
-z, --app_version STRING Initial version number (e.g. '1.0') (PRODUCE_VERSION)
|
68
|
+
-y, --sku STRING SKU Number (e.g. '1234') (PRODUCE_SKU)
|
69
|
+
-j, --platform STRING The platform to use (optional) (PRODUCE_PLATFORM)
|
70
|
+
-m, --language STRING Primary Language (e.g. 'English', 'German') (PRODUCE_LANGUAGE)
|
71
|
+
-c, --company_name STRING The name of your company. It's used to set company name on App Store Connect team's app pages. Only required if it's the first app you create (PRODUCE_COMPANY_NAME)
|
72
|
+
-i, --skip_itc [VALUE] Skip the creation of the app on App Store Connect (PRODUCE_SKIP_ITC)
|
73
|
+
-d, --skip_devcenter [VALUE] Skip the creation of the app on the Apple Developer Portal (PRODUCE_SKIP_DEVCENTER)
|
74
|
+
-s, --itc_users ARRAY Array of App Store Connect users. If provided, you can limit access to this newly created app for users with the App Manager, Developer, Marketer or Sales roles (ITC_USERS)
|
75
|
+
-b, --team_id STRING The ID of your Developer Portal team if you're in multiple teams (PRODUCE_TEAM_ID)
|
76
|
+
-l, --team_name STRING The name of your Developer Portal team if you're in multiple teams (PRODUCE_TEAM_NAME)
|
77
|
+
-k, --itc_team_id [VALUE] The ID of your App Store Connect team if you're in multiple teams (PRODUCE_ITC_TEAM_ID)
|
78
|
+
-p, --itc_team_name STRING The name of your App Store Connect team if you're in multiple teams (PRODUCE_ITC_TEAM_NAME)
|
79
|
+
```
|
80
|
+
|
81
|
+
## Enabling / Disabling Application Services
|
82
|
+
|
83
|
+
If you want to enable Application Services for an App ID (HomeKit and HealthKit in this example):
|
84
|
+
|
85
|
+
```no-highlight
|
86
|
+
fastlane produce enable_services --homekit --healthkit
|
87
|
+
```
|
88
|
+
|
89
|
+
If you want to disable Application Services for an App ID (iCloud in this case):
|
90
|
+
|
91
|
+
```no-highlight
|
92
|
+
fastlane produce disable_services --icloud
|
93
|
+
```
|
94
|
+
|
95
|
+
If you want to create a new App Group:
|
96
|
+
|
97
|
+
```no-highlight
|
98
|
+
fastlane produce group -g group.krausefx -n "Example App Group"
|
99
|
+
```
|
100
|
+
|
101
|
+
If you want to associate an app with an App Group:
|
102
|
+
|
103
|
+
```no-highlight
|
104
|
+
fastlane produce associate_group -a com.krausefx.app group.krausefx
|
105
|
+
```
|
106
|
+
|
107
|
+
If you want to create a new iCloud Container:
|
108
|
+
|
109
|
+
```no-highlight
|
110
|
+
fastlane produce cloud_container -g iCloud.com.krausefx.app -n "Example iCloud Container"
|
111
|
+
```
|
112
|
+
|
113
|
+
If you want to associate an app with an iCloud Container:
|
114
|
+
|
115
|
+
```no-highlight
|
116
|
+
fastlane produce associate_cloud_container -a com.krausefx.app iCloud.com.krausefx.app
|
117
|
+
```
|
118
|
+
|
119
|
+
If you want to associate an app with multiple iCloud Containers:
|
120
|
+
|
121
|
+
```no-highlight
|
122
|
+
fastlane produce associate_cloud_container -a com.krausefx.app iCloud.com.krausefx.app1 iCloud.com.krausefx.app2
|
123
|
+
```
|
124
|
+
|
125
|
+
# Parameters
|
126
|
+
|
127
|
+
Get a list of all available options using
|
128
|
+
|
129
|
+
```no-highlight
|
130
|
+
fastlane produce enable_services --help
|
131
|
+
```
|
132
|
+
|
133
|
+
```no-highlight
|
134
|
+
--access-wifi Enable Access Wifi
|
135
|
+
--app-attest Enable App Attest
|
136
|
+
--app-group Enable App Group
|
137
|
+
--apple-pay Enable Apple Pay
|
138
|
+
--associated-domains Enable Associated Domains
|
139
|
+
--auto-fill-credential Enable Auto Fill Credential
|
140
|
+
--class-kit Enable Class Kit
|
141
|
+
--icloud STRING Enable iCloud, suitable values are "xcode5_compatible" and "xcode6_compatible"
|
142
|
+
--custom-network-protocol Enable Custom Network Protocol
|
143
|
+
--data-protection STRING Enable Data Protection, suitable values are "complete", "unlessopen" and "untilfirstauth"
|
144
|
+
--extended-virtual-address-space Enable Extended Virtual Address Space
|
145
|
+
--game-center STRING Enable Game Center, suitable values are "ios" and "macos
|
146
|
+
--health-kit Enable Health Kit
|
147
|
+
--hls-interstitial-preview Enable Hls Interstitial Preview
|
148
|
+
--home-kit Enable Home Kit
|
149
|
+
--hotspot Enable Hotspot
|
150
|
+
--in-app-purchase Enable In App Purchase
|
151
|
+
--inter-app-audio Enable Inter App Audio
|
152
|
+
--low-latency-hls Enable Low Latency Hls
|
153
|
+
--managed-associated-domains Enable Managed Associated Domains
|
154
|
+
--maps Enable Maps
|
155
|
+
--multipath Enable Multipath
|
156
|
+
--network-extension Enable Network Extension
|
157
|
+
--nfc-tag-reading Enable NFC Tag Reading
|
158
|
+
--personal-vpn Enable Personal VPN
|
159
|
+
--passbook Enable Passbook (deprecated)
|
160
|
+
--push-notification Enable Push Notification
|
161
|
+
--sign-in-with-apple Enable Sign In With Apple
|
162
|
+
--siri-kit Enable Siri Kit
|
163
|
+
--system-extension Enable System Extension
|
164
|
+
--user-management Enable User Management
|
165
|
+
--vpn-configuration Enable Vpn Configuration (deprecated)
|
166
|
+
--wallet Enable Wallet
|
167
|
+
--wireless-accessory Enable Wireless Accessory
|
168
|
+
--car-play-audio-app Enable Car Play Audio App
|
169
|
+
--car-play-messaging-app Enable Car Play Messaging App
|
170
|
+
--car-play-navigation-app Enable Car Play Navigation App
|
171
|
+
--car-play-voip-calling-app Enable Car Play Voip Calling App
|
172
|
+
--critical-alerts Enable Critical Alerts
|
173
|
+
--hotspot-helper Enable Hotspot Helper
|
174
|
+
--driver-kit Enable DriverKit
|
175
|
+
--driver-kit-endpoint-security Enable DriverKit Endpoint Security
|
176
|
+
--driver-kit-family-hid-device Enable DriverKit Family HID Device
|
177
|
+
--driver-kit-family-networking Enable DriverKit Family Networking
|
178
|
+
--driver-kit-family-serial Enable DriverKit Family Serial
|
179
|
+
--driver-kit-hid-event-service Enable DriverKit HID EventService
|
180
|
+
--driver-kit-transport-hid Enable DriverKit Transport HID
|
181
|
+
--multitasking-camera-access Enable Multitasking Camera Access
|
182
|
+
--sf-universal-link-api Enable SFUniversalLink API
|
183
|
+
--vp9-decoder Enable VP9 Decoder
|
184
|
+
--music-kit Enable MusicKit
|
185
|
+
--shazam-kit Enable ShazamKit
|
186
|
+
--communication-notifications Enable Communication Notifications
|
187
|
+
--group-activities Enable Group Activities
|
188
|
+
--health-kit-estimate-recalibration Enable HealthKit Estimate Recalibration
|
189
|
+
--time-sensitive-notifications Enable Time Sensitive Notifications
|
190
|
+
```
|
191
|
+
|
192
|
+
```no-highlight
|
193
|
+
fastlane produce disable_services --help
|
194
|
+
```
|
195
|
+
|
196
|
+
```no-highlight
|
197
|
+
--access-wifi Disable Access Wifi
|
198
|
+
--app-attest Disable App Attest
|
199
|
+
--app-group Disable App Group
|
200
|
+
--apple-pay Disable Apple Pay
|
201
|
+
--associated-domains Disable Associated Domains
|
202
|
+
--auto-fill-credential Disable Auto Fill Credential
|
203
|
+
--class-kit Disable Class Kit
|
204
|
+
--icloud STRING Disable iCloud
|
205
|
+
--custom-network-protocol Disable Custom Network Protocol
|
206
|
+
--data-protection STRING Disable Data Protection
|
207
|
+
--extended-virtual-address-space Disable Extended Virtual Address Space
|
208
|
+
--game-center STRING Disable Game Center
|
209
|
+
--health-kit Disable Health Kit
|
210
|
+
--hls-interstitial-preview Disable Hls Interstitial Preview
|
211
|
+
--home-kit Disable Home Kit
|
212
|
+
--hotspot Disable Hotspot
|
213
|
+
--in-app-purchase Disable In App Purchase
|
214
|
+
--inter-app-audio Disable Inter App Audio
|
215
|
+
--low-latency-hls Disable Low Latency Hls
|
216
|
+
--managed-associated-domains Disable Managed Associated Domains
|
217
|
+
--maps Disable Maps
|
218
|
+
--multipath Disable Multipath
|
219
|
+
--network-extension Disable Network Extension
|
220
|
+
--nfc-tag-reading Disable NFC Tag Reading
|
221
|
+
--personal-vpn Disable Personal VPN
|
222
|
+
--passbook Disable Passbook (deprecated)
|
223
|
+
--push-notification Disable Push Notification
|
224
|
+
--sign-in-with-apple Disable Sign In With Apple
|
225
|
+
--siri-kit Disable Siri Kit
|
226
|
+
--system-extension Disable System Extension
|
227
|
+
--user-management Disable User Management
|
228
|
+
--vpn-configuration Disable Vpn Configuration (deprecated)
|
229
|
+
--wallet Disable Wallet
|
230
|
+
--wireless-accessory Disable Wireless Accessory
|
231
|
+
--car-play-audio-app Disable Car Play Audio App
|
232
|
+
--car-play-messaging-app Disable Car Play Messaging App
|
233
|
+
--car-play-navigation-app Disable Car Play Navigation App
|
234
|
+
--car-play-voip-calling-app Disable Car Play Voip Calling App
|
235
|
+
--critical-alerts Disable Critical Alerts
|
236
|
+
--hotspot-helper Disable Hotspot Helper
|
237
|
+
--driver-kit Disable DriverKit
|
238
|
+
--driver-kit-endpoint-security Disable DriverKit Endpoint Security
|
239
|
+
--driver-kit-family-hid-device Disable DriverKit Family HID Device
|
240
|
+
--driver-kit-family-networking Disable DriverKit Family Networking
|
241
|
+
--driver-kit-family-serial Disable DriverKit Family Serial
|
242
|
+
--driver-kit-hid-event-service Disable DriverKit HID EventService
|
243
|
+
--driver-kit-transport-hid Disable DriverKit Transport HID
|
244
|
+
--multitasking-camera-access Disable Multitasking Camera Access
|
245
|
+
--sf-universal-link-api Disable SFUniversalLink API
|
246
|
+
--vp9-decoder Disable VP9 Decoder
|
247
|
+
--music-kit Disable MusicKit
|
248
|
+
--shazam-kit Disable ShazamKit
|
249
|
+
--communication-notifications Disable Communication Notifications
|
250
|
+
--group-activities Disable Group Activities
|
251
|
+
--health-kit-estimate-recalibration Disable HealthKit Estimate Recalibration
|
252
|
+
--time-sensitive-notifications Disable Time Sensitive Notifications
|
253
|
+
```
|
254
|
+
|
255
|
+
## Creating Apple Pay merchants and associating them with an App ID
|
256
|
+
|
257
|
+
If you want to create a new Apple Pay Merchant Identifier:
|
258
|
+
|
259
|
+
```no-highlight
|
260
|
+
fastlane produce merchant -o merchant.com.example.production -r "Example Merchant Production"
|
261
|
+
```
|
262
|
+
|
263
|
+
Use `--help` for more information about all available parameters
|
264
|
+
|
265
|
+
```no-highlight
|
266
|
+
fastlane produce merchant --help
|
267
|
+
```
|
268
|
+
|
269
|
+
If you want to associate an app with a Merchant Identifier:
|
270
|
+
|
271
|
+
```no-highlight
|
272
|
+
fastlane produce associate_merchant -a com.krausefx.app merchant.com.example.production
|
273
|
+
```
|
274
|
+
|
275
|
+
If you want to associate an app with multiple Merchant Identifiers:
|
276
|
+
|
277
|
+
```no-highlight
|
278
|
+
fastlane produce associate_merchant -a com.krausefx.app merchant.com.example.production merchant.com.example.sandbox
|
279
|
+
```
|
280
|
+
|
281
|
+
Use --help for more information about all available parameters
|
282
|
+
|
283
|
+
```no-highlight
|
284
|
+
fastlane produce associate_merchant --help
|
285
|
+
```
|
286
|
+
|
287
|
+
## Environment Variables
|
288
|
+
|
289
|
+
All available values can also be passed using environment variables, run `fastlane produce --help` to get a list of all available parameters.
|
290
|
+
|
291
|
+
## _fastlane_ Integration
|
292
|
+
|
293
|
+
Your `Fastfile` should look like this
|
294
|
+
|
295
|
+
```ruby
|
296
|
+
lane :release do
|
297
|
+
produce(
|
298
|
+
username: 'felix@krausefx.com',
|
299
|
+
app_identifier: 'com.krausefx.app',
|
300
|
+
app_name: 'MyApp',
|
301
|
+
language: 'English',
|
302
|
+
app_version: '1.0',
|
303
|
+
sku: '123',
|
304
|
+
team_name: 'SunApps GmbH', # only necessary when in multiple teams
|
305
|
+
|
306
|
+
# Optional
|
307
|
+
# App services can be enabled during app creation
|
308
|
+
enable_services: {
|
309
|
+
access_wifi: "on", # Valid values: "on", "off"
|
310
|
+
app_attest: "on", # Valid values: "on", "off"
|
311
|
+
app_group: "on", # Valid values: "on", "off"
|
312
|
+
apple_pay: "on", # Valid values: "on", "off"
|
313
|
+
associated_domains: "on", # Valid values: "on", "off"
|
314
|
+
auto_fill_credential: "on", # Valid values: "on", "off"
|
315
|
+
car_play_audio_app: "on", # Valid values: "on", "off"
|
316
|
+
car_play_messaging_app: "on", # Valid values: "on", "off"
|
317
|
+
car_play_navigation_app: "on", # Valid values: "on", "off"
|
318
|
+
car_play_voip_calling_app: "on", # Valid values: "on", "off"
|
319
|
+
class_kit: "on", # Valid values: "on", "off"
|
320
|
+
icloud: "xcode5_compatible", # Valid values: "xcode5_compatible", "xcode6_compatible", "off"
|
321
|
+
critical_alerts: "on", # Valid values: "on", "off"
|
322
|
+
custom_network_protocol: "on", # Valid values: "on", "off"
|
323
|
+
data_protection: "complete", # Valid values: "complete", "unlessopen", "untilfirstauth", "off"
|
324
|
+
extended_virtual_address_space: "on", # Valid values: "on", "off"
|
325
|
+
file_provider_testing_mode: "on", # Valid values: "on", "off"
|
326
|
+
fonts: "on", # Valid values: "on", "off"
|
327
|
+
game_center: "ios", # Valid values: "ios", "macos", off"
|
328
|
+
health_kit: "on", # Valid values: "on", "off"
|
329
|
+
hls_interstitial_preview: "on", # Valid values: "on", "off"
|
330
|
+
home_kit: "on", # Valid values: "on", "off"
|
331
|
+
hotspot: "on", # Valid values: "on", "off"
|
332
|
+
hotspot_helper: "on", # Valid values: "on", "off"
|
333
|
+
in_app_purchase: "on", # Valid values: "on", "off"
|
334
|
+
inter_app_audio: "on", # Valid values: "on", "off"
|
335
|
+
low_latency_hls: "on", # Valid values: "on", "off"
|
336
|
+
managed_associated_domains: "on", # Valid values: "on", "off"
|
337
|
+
maps: "on", # Valid values: "on", "off"
|
338
|
+
multipath: "on", # Valid values: "on", "off"
|
339
|
+
network_extension: "on", # Valid values: "on", "off"
|
340
|
+
nfc_tag_reading: "on", # Valid values: "on", "off"
|
341
|
+
passbook: "on", # Valid values: "on", "off" (deprecated)
|
342
|
+
personal_vpn: "on", # Valid values: "on", "off"
|
343
|
+
push_notification: "on", # Valid values: "on", "off"
|
344
|
+
sign_in_with_apple: "on", # Valid values: "on", "off"
|
345
|
+
siri_kit: "on", # Valid values: "on", "off"
|
346
|
+
system_extension: "on", # Valid values: "on", "off"
|
347
|
+
user_management: "on", # Valid values: "on", "off"
|
348
|
+
vpn_configuration: "on", # Valid values: "on", "off" (deprecated)
|
349
|
+
wallet: "on", # Valid values: "on", "off"
|
350
|
+
wireless_accessory: "on", # Valid values: "on", "off"
|
351
|
+
driver_kit: "on", # Valid values: "on", "off"
|
352
|
+
driver_kit_endpoint_security: "on", # Valid values: "on", "off"
|
353
|
+
driver_kit_family_hid_device: "on", # Valid values: "on", "off"
|
354
|
+
driver_kit_family_networking: "on", # Valid values: "on", "off"
|
355
|
+
driver_kit_family_serial: "on", # Valid values: "on", "off"
|
356
|
+
driver_kit_hid_event_service: "on", # Valid values: "on", "off"
|
357
|
+
driver_kit_transport_hid: "on", # Valid values: "on", "off"
|
358
|
+
multitasking_camera_access: "on", # Valid values: "on", "off"
|
359
|
+
sf_universal_link_api: "on", # Valid values: "on", "off"
|
360
|
+
vp9_decoder: "on", # Valid values: "on", "off"
|
361
|
+
music_kit: "on", # Valid values: "on", "off"
|
362
|
+
shazam_kit: "on", # Valid values: "on", "off"
|
363
|
+
communication_notifications: "on", # Valid values: "on", "off"
|
364
|
+
group_activities: "on", # Valid values: "on", "off"
|
365
|
+
health_kit_estimate_recalibration: "on", # Valid values: "on", "off"
|
366
|
+
time_sensitive_notifications: "on", # Valid values: "on", "off"
|
367
|
+
}
|
368
|
+
)
|
369
|
+
|
370
|
+
deliver
|
371
|
+
end
|
372
|
+
```
|
373
|
+
|
374
|
+
To use the newly generated app in _deliver_, you need to add this line to your `Deliverfile`:
|
375
|
+
|
376
|
+
```ruby-skip-tests
|
377
|
+
apple_id(ENV['PRODUCE_APPLE_ID'])
|
378
|
+
```
|
379
|
+
|
380
|
+
This will tell _deliver_, which `App ID` to use, since the app is not yet available in the App Store.
|
381
|
+
|
382
|
+
You'll still have to fill out the remaining information (like screenshots, app description and pricing). You can use [_deliver_](https://docs.fastlane.tools/actions/deliver/) to upload your app metadata using a CLI
|
383
|
+
|
384
|
+
## How is my password stored?
|
385
|
+
|
386
|
+
_produce_ uses the [password manager](https://github.com/fastlane/fastlane/tree/master/credentials_manager) from _fastlane_. Take a look the [CredentialsManager README](https://github.com/fastlane/fastlane/tree/master/credentials_manager) for more information.
|
@@ -0,0 +1,366 @@
|
|
1
|
+
<p align="center">
|
2
|
+
<img src="/img/actions/frameit.png" width="250">
|
3
|
+
</p>
|
4
|
+
|
5
|
+
###### Easily put your screenshots into the right device frames
|
6
|
+
|
7
|
+
_frameit_ allows you to put a gorgeous device frame around your iOS, macOS and Android screenshots just by running one simple command. Use _frameit_ to prepare perfect screenshots for the App Store, your website, QA or emails.
|
8
|
+
|
9
|
+
-------
|
10
|
+
|
11
|
+
<p align="center">
|
12
|
+
<a href="#features">Features</a> •
|
13
|
+
<a href="#usage">Usage</a> •
|
14
|
+
<a href="#tips">Tips</a>
|
15
|
+
</p>
|
16
|
+
|
17
|
+
-------
|
18
|
+
|
19
|
+
<h5 align="center"><em>frameit</em> 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>
|
20
|
+
|
21
|
+
|
22
|
+
# Features
|
23
|
+
|
24
|
+
## Frame screenshot
|
25
|
+
|
26
|
+
Put a gorgeous device frame around your iOS, macOS and Android screenshots just by running one simple command. Support for:
|
27
|
+
|
28
|
+
- iPhone, iPad and Mac
|
29
|
+
- Set of Android devices
|
30
|
+
- Portrait and Landscape modes
|
31
|
+
- Several device frame colors
|
32
|
+
|
33
|
+
The complete and updated list of supported devices and colors can be found [here](https://github.com/fastlane/frameit-frames/tree/gh-pages/latest)
|
34
|
+
|
35
|
+
Here is a nice gif, that shows _frameit_ in action:
|
36
|
+
|
37
|
+
![img/actions/FrameitGit.gif](/img/actions/FrameitGit.gif?raw=1)
|
38
|
+
|
39
|
+
## Advanced Features
|
40
|
+
|
41
|
+
- Put framed screenshot on colored background, define padding
|
42
|
+
- add text above or under framed screenshot
|
43
|
+
- keyword + text
|
44
|
+
- choose text font and color
|
45
|
+
- multi line text
|
46
|
+
- "intelligent" positioning of text that always looks good(ish)
|
47
|
+
|
48
|
+
## Results
|
49
|
+
|
50
|
+
![img/actions/ScreenshotsBig.png](/img/actions/ScreenshotsBig.png?raw=1)
|
51
|
+
|
52
|
+
-------
|
53
|
+
|
54
|
+
![img/actions/ScreenshotsOverview.png](/img/actions/ScreenshotsOverview.png?raw=1)
|
55
|
+
|
56
|
+
-------
|
57
|
+
|
58
|
+
![img/actions/MacExample.png](/img/actions/MacExample.png?raw=1)
|
59
|
+
|
60
|
+
<h5 align="center">The <em>frameit</em> 2.0 update was kindly sponsored by <a href="https://mindnode.com/">MindNode</a>, seen in the screenshots above.</h5>
|
61
|
+
|
62
|
+
|
63
|
+
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).
|
64
|
+
|
65
|
+
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)
|
66
|
+
|
67
|
+
# Usage
|
68
|
+
|
69
|
+
## Basic Usage
|
70
|
+
|
71
|
+
Why should you have to use Photoshop, just to add a frame around your screenshots?
|
72
|
+
|
73
|
+
Just navigate to your folder of screenshots and use the following command (iOS and Mac OS are default platforms for backward compatibility):
|
74
|
+
|
75
|
+
```no-highlight
|
76
|
+
fastlane frameit
|
77
|
+
```
|
78
|
+
|
79
|
+
To frame Android screenshots:
|
80
|
+
|
81
|
+
```no-highlight
|
82
|
+
fastlane frameit android
|
83
|
+
```
|
84
|
+
|
85
|
+
To use the silver version of the frames:
|
86
|
+
|
87
|
+
```no-highlight
|
88
|
+
fastlane frameit silver
|
89
|
+
```
|
90
|
+
|
91
|
+
To download the latest frames
|
92
|
+
|
93
|
+
```no-highlight
|
94
|
+
fastlane frameit download_frames
|
95
|
+
```
|
96
|
+
|
97
|
+
Note: 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.
|
98
|
+
|
99
|
+
## Advanced Usage (optional)
|
100
|
+
|
101
|
+
### Text and Background
|
102
|
+
|
103
|
+
With _frameit_ it's possible to add a custom background and text below or above the framed screenshots in fonts and colors you define.
|
104
|
+
|
105
|
+
A working example can be found in the [fastlane examples](https://github.com/fastlane/examples/tree/master/MindNode/screenshots) project.
|
106
|
+
|
107
|
+
### `Framefile.json`
|
108
|
+
|
109
|
+
The Framefile allows to define general and screenshot specific information.
|
110
|
+
It has the following general JSON structure:
|
111
|
+
|
112
|
+
```json
|
113
|
+
{
|
114
|
+
"device_frame_version": "latest",
|
115
|
+
"default": {
|
116
|
+
...
|
117
|
+
},
|
118
|
+
"data": [
|
119
|
+
...
|
120
|
+
]
|
121
|
+
}
|
122
|
+
```
|
123
|
+
|
124
|
+
### General parameters
|
125
|
+
|
126
|
+
The general parameters are defined in the `default` key and can be:
|
127
|
+
|
128
|
+
| Key | Description | Default value |
|
129
|
+
|-----|-------------|---------------|
|
130
|
+
| `background` | The background that should be used for the framed screenshot. Specify the (relative) path to the image file (e.g. `*.jpg`). This parameter is mandatory. | NA |
|
131
|
+
| `keyword` | An object that contains up to 3 keys to describe the optional keyword. See [table](#keyword-and-title-parameters) below. | NA |
|
132
|
+
| `title` | An object that contains up to 3 keys to describe the mandatory title. See [table](#keyword-and-title-parameters) below. | NA |
|
133
|
+
| `stack_title` | Specifies whether _frameit_ should display the keyword above the title when both keyword and title are defined. If it is false, the title and keyword will be displayed side by side when both keyword and title are defined. | `false` |
|
134
|
+
| `title_below_image` | Specifies whether _frameit_ should place the title and optional keyword below the device frame. If it is false, it will be placed above the device frame. | `false` |
|
135
|
+
| `show_complete_frame` | Specifies whether _frameit_ should shrink the device frame so that it is completely shown in the framed screenshot. If it is false, clipping of the device frame might occur at the bottom (when `title_below_image` is `false`) or top (when `title_below_image` is `true`) of the framed screenshot. | `false` |
|
136
|
+
| `padding` | The content of the framed screenshot will be resized to match the specified `padding` around all edges. The vertical padding is also applied between the text and the top or bottom (depending on `title_below_image`) of the device frame. <p> There are 3 different options of specifying the padding: <p> 1. Default: An integer value that defines both horizontal and vertical padding in pixels. <br> 2. A string that defines (different) padding values in pixels for horizontal and vertical padding. The syntax is `"<horizontal>x<vertical>"`, e.g. `"30x60"`. <br> 3. A string that defines (different) padding values in percentage for horizontal and vertical padding. The syntax is `"<horizontal>%x<vertical>%"`, e.g. `"5%x10%"`. <br> **Note:** The percentage is calculated from the smallest image dimension (height or width). <p> A combination of option 2 and 3 is possible, e.g. `"5%x40"`. | `50` |
|
137
|
+
| `interline_spacing` | Specifies whether _frameit_ should add or subtract this many pixels between the individual lines of text. This only applies to a multi-line `title` and/or `keyword` to expand or squash together the individual lines of text. | `0` |
|
138
|
+
| `font_scale_factor` | Specifies whether _frameit_ should increase or decrease the font size of the text. Is ignored for `keyword` or `title`, if `font_size` is specified. | `0.1` |
|
139
|
+
| `frame` | Overrides the color of the frame to be used. (Valid values are `BLACK`, `WHITE`, `GOLD` and `ROSE_GOLD`) | NA |
|
140
|
+
| `title_min_height` | Specifies a height always reserved for the title. Value can be a percentage of the height or an absolute value. The device will be placed below (or above) this area. Convenient to ensure the device top (or bottom) will be consistently placed at the same height on the different screenshots. | NA |
|
141
|
+
| `use_platform` | Overrides the platform used for the screenshot. Valid values are `IOS`, `ANDROID` and `ANY`. | `IOS` |
|
142
|
+
| `force_device_type` | Forces a specific device. Valid values are: Huawei P8, Motorola Moto E, Motorola Moto G, Nexus 4, Nexus 5X, Nexus 6P, Nexus 9, Samsung Galaxy Grand Prime, Samsung Galaxy Note 5, Samsung Galaxy S Duos, Samsung Galaxy S3, Samsung Galaxy S5, Samsung Galaxy S7, Samsung Galaxy S8, Samsung Galaxy S9, iPhone 5s, iPhone 5c, iPhone SE, iPhone 6s, iPhone 6s Plus, iPhone 7, iPhone 7 Plus, iPhone 8, iPhone 8 Plus, iPhone X, iPhone XS, iPhone XR, iPhone XS Max, iPad Air 2, iPad Mini 4, iPad Pro, MacBook, Google Pixel 3, Google Pixel 3 XL, HTC One A9, HTC One M8 | NA |
|
143
|
+
|
144
|
+
### Specific parameters
|
145
|
+
|
146
|
+
The screenshot specific parameters are related to the keyword and title texts.
|
147
|
+
These are defined in the `data` key. This is an array with the following keys for each screenshot:
|
148
|
+
|
149
|
+
| Key | Description |
|
150
|
+
|-----|-------------|
|
151
|
+
| `filter` | This is mandatory to link the individual configuration to the screenshot, based on part of the file name. <p>Example:<br>If a screenshot is named `iPhone 8-Brainstorming.png` you can use value `Brainstorming` for `filter`. If there are more than one `filter` matching an entry, they will all be applied in order (which means that the last one has the highest precedence). All other keys from that array element will only be applied on this specific screenshot. |
|
152
|
+
| `keyword` | Similar use as in `default`, except that parameter `text` can be used here because it is screenshot specific. |
|
153
|
+
| `title` | Similar use as in `default`, except that parameter `text` can be used here because it is screenshot specific. |
|
154
|
+
| `frame` | Overrides the color of the frame to be used. (Valid values are `BLACK`, `WHITE`, `GOLD` and `ROSE_GOLD`) | NA |
|
155
|
+
| `use_platform` | Overrides the platform used for the screenshot. Valid values are `IOS`, `ANDROID` and `ANY`. | `IOS` |
|
156
|
+
| `force_device_type` | Forces a specific device. Valid values are the same as for the general parameter. | NA |
|
157
|
+
|
158
|
+
### <a name="keyword-and-title-parameters"></a>Framefile `keyword` and `title` parameters
|
159
|
+
|
160
|
+
The `keyword` and `title` parameters are both used in `default` and `data`. They both consist of the following optional keys:
|
161
|
+
|
162
|
+
| Key | Description | Default value |
|
163
|
+
|-----|-------------|---------------|
|
164
|
+
| `color` | The font color for the text. Specify a HEX/HTML color code. | `#000000` (black) |
|
165
|
+
| `font` | The font family for the text. Specify the (relative) path to the font file (e.g. an OpenType Font). | The default `imagemagick` font, which is system dependent. |
|
166
|
+
| `font_size` | The font size for the text specified in points. If not specified or `0`, font will be scaled automatically to fit the available space. _frameit_ still shrinks the text, if it would not fit. | NA |
|
167
|
+
| `font_weight` | The [font weight for the text](https://imagemagick.org/script/command-line-options.php#weight). Specify an integer value (e.g. 900). | NA |
|
168
|
+
| `text` | The text that should be used for the `keyword` or `title`. <p> Note: If you want to use localised text, use [`.strings` files](#strings-files). | NA |
|
169
|
+
|
170
|
+
### Example
|
171
|
+
|
172
|
+
```json
|
173
|
+
{
|
174
|
+
"device_frame_version": "latest",
|
175
|
+
"default": {
|
176
|
+
"keyword": {
|
177
|
+
"font": "./fonts/MyFont-Rg.otf"
|
178
|
+
},
|
179
|
+
"title": {
|
180
|
+
"font": "./fonts/MyFont-Th.otf",
|
181
|
+
"font_size": 128,
|
182
|
+
"color": "#545454"
|
183
|
+
},
|
184
|
+
"background": "./background.jpg",
|
185
|
+
"padding": 50,
|
186
|
+
"show_complete_frame": false,
|
187
|
+
"stack_title" : false,
|
188
|
+
"title_below_image": true,
|
189
|
+
"frame": "WHITE",
|
190
|
+
"use_platform": "IOS"
|
191
|
+
},
|
192
|
+
|
193
|
+
"data": [
|
194
|
+
{
|
195
|
+
"filter": "Brainstorming",
|
196
|
+
"keyword": {
|
197
|
+
"color": "#d21559"
|
198
|
+
}
|
199
|
+
},
|
200
|
+
{
|
201
|
+
"filter": "Organizing",
|
202
|
+
"keyword": {
|
203
|
+
"color": "#feb909"
|
204
|
+
},
|
205
|
+
"frame": "ROSE_GOLD"
|
206
|
+
},
|
207
|
+
{
|
208
|
+
"filter": "Sharing",
|
209
|
+
"keyword": {
|
210
|
+
"color": "#aa4dbc"
|
211
|
+
}
|
212
|
+
},
|
213
|
+
{
|
214
|
+
"filter": "Styling",
|
215
|
+
"keyword": {
|
216
|
+
"color": "#31bb48"
|
217
|
+
}
|
218
|
+
},
|
219
|
+
{
|
220
|
+
"filter": "Android",
|
221
|
+
"use_platform": "ANDROID"
|
222
|
+
}
|
223
|
+
]
|
224
|
+
}
|
225
|
+
```
|
226
|
+
|
227
|
+
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.
|
228
|
+
|
229
|
+
The `Framefile.json` should be in the `screenshots` folder, as seen in the [example](https://github.com/fastlane/examples/tree/master/MindNode/screenshots).
|
230
|
+
|
231
|
+
### `.strings` files
|
232
|
+
|
233
|
+
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))
|
234
|
+
|
235
|
+
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.
|
236
|
+
|
237
|
+
**Notes**
|
238
|
+
|
239
|
+
- These `.strings` files **MUST** be utf-8 (UTF-8) or 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)
|
240
|
+
- You **MUST** provide a background if you want titles. _frameit_ will not add the titles if a background is not specified.
|
241
|
+
|
242
|
+
### Screenshot orientation
|
243
|
+
|
244
|
+
By default _frameit_ adds a frame to your screenshot based on an orientation you took it. For a portrait (vertical orientation) it is going to add portrait frame and for a landscape (horizontal orientation) - landscape left (= [Home button on the left side](https://developer.apple.com/documentation/uikit/uiinterfaceorientation/landscapeleft)).
|
245
|
+
|
246
|
+
One way to override the default behavior is editing the file name by adding `force_landscaperight` to the end.
|
247
|
+
|
248
|
+
### `force_orientation_block`
|
249
|
+
|
250
|
+
If the default behavior doesn't fit your needs and you don't want or can't rename your screenshots, you can customize _frameit_'s orientation behavior by setting a `force_orientation_block` parameter. The valid values are: `:landscape_left` (home button on the left side), `:landscape_right` (home button on the right side), `:portrait` (home button on the bottom), `nil` (home button on the right side).
|
251
|
+
|
252
|
+
### Examples
|
253
|
+
|
254
|
+
```ruby
|
255
|
+
# It matches the filename to the framed device orientation
|
256
|
+
frameit(
|
257
|
+
path: "./fastlane/screenshots",
|
258
|
+
force_orientation_block: proc do |filename|
|
259
|
+
case filename
|
260
|
+
when "iPad Pro (12.9-inch)-01LoginScreen"
|
261
|
+
:landscape_right
|
262
|
+
when "iPhone 6 Plus-01LoginScreen"
|
263
|
+
:portrait
|
264
|
+
# and so on
|
265
|
+
end
|
266
|
+
end
|
267
|
+
)
|
268
|
+
```
|
269
|
+
|
270
|
+
```ruby
|
271
|
+
# It frames the screenshots in landscape right whenever the filename contains `landscape` word
|
272
|
+
frameit(
|
273
|
+
silver: true,
|
274
|
+
path: "./fastlane/screenshots",
|
275
|
+
force_orientation_block: proc do |filename|
|
276
|
+
f = filename.downcase
|
277
|
+
if f.include?("landscape")
|
278
|
+
:landscape_right
|
279
|
+
end
|
280
|
+
end
|
281
|
+
)
|
282
|
+
```
|
283
|
+
|
284
|
+
# Mac
|
285
|
+
|
286
|
+
With _frameit_ it's possible to also frame macOS Application screenshots. You have to provide the following:
|
287
|
+
|
288
|
+
- A (relative) path to a `background` image file, which should contain both the background and the Mac.
|
289
|
+
- The `offset` information so _frameit_ knows where to position your screenshot on the `background`:
|
290
|
+
- `offset` : A string that specifies the horizontal and vertical offset in pixels, with respect to the top left corner of the `background` image. The syntax is `"+<horizontal>+<vertical>"`, e.g. `"+200+150"`.
|
291
|
+
- `titleHeight` : The height in pixels that should be used for the title.
|
292
|
+
|
293
|
+
## Example
|
294
|
+
```json
|
295
|
+
{
|
296
|
+
"default": {
|
297
|
+
"title": {
|
298
|
+
"color": "#545454"
|
299
|
+
},
|
300
|
+
"background": "Mac.jpg",
|
301
|
+
"offset": {
|
302
|
+
"offset": "+676+479",
|
303
|
+
"titleHeight": 320
|
304
|
+
}
|
305
|
+
},
|
306
|
+
"data": [
|
307
|
+
{
|
308
|
+
"filter": "Brainstorming",
|
309
|
+
"keyword": {
|
310
|
+
"color": "#d21559"
|
311
|
+
}
|
312
|
+
}
|
313
|
+
]
|
314
|
+
}
|
315
|
+
```
|
316
|
+
|
317
|
+
Check out the [MindNode example project](https://github.com/fastlane/examples/tree/master/MindNode/screenshots).
|
318
|
+
|
319
|
+
# Tips
|
320
|
+
|
321
|
+
## Generate localized screenshots
|
322
|
+
|
323
|
+
Check out [_snapshot_](https://docs.fastlane.tools/actions/snapshot/) to automatically generate screenshots using ```UI Automation```.
|
324
|
+
|
325
|
+
## Resume framing
|
326
|
+
|
327
|
+
Framing screenshots is a slow operation. In case you need to resume framing, or just frame a couple updated screenshots again, you can rely on the `--resume` flag. Only screenshots which have not been framed yet – or for which there isn't an up-to-date framed image – will be framed. This feature uses the file modification dates and will reframe screenshots if the screenshot is newer than the framed file.
|
328
|
+
|
329
|
+
## Upload screenshots
|
330
|
+
|
331
|
+
Use [_deliver_](https://docs.fastlane.tools/actions/deliver/) to upload iOS screenshots to App Store Connect, or [_supply_](https://docs.fastlane.tools/actions/supply/) to upload Android screenshots to Play Store completely automatically 🚀
|
332
|
+
|
333
|
+
## Use a clean status bar
|
334
|
+
|
335
|
+
You can set `override_status_bar` to `true` in snapshot to set the status bar to Tuesday January 9th at 9:41AM with full battery and reception. If you need more granular customization, to set a Carrier name for example, also set `override_status_bar_arguments` to the specific arguments to be passed to the `xcrun simctl status_bar override` command. Run `xcrun simctl status_bar --help` to see the options available.
|
336
|
+
|
337
|
+
### Examples
|
338
|
+
|
339
|
+
```ruby
|
340
|
+
# Sets the time to 9:41AM with full battery and reception, with the default carrier name: Carrier
|
341
|
+
capture_ios_screenshots(
|
342
|
+
override_status_bar: true
|
343
|
+
)
|
344
|
+
```
|
345
|
+
|
346
|
+
```ruby
|
347
|
+
# Set the time to 9:41AM, battery at 75% and charging, on the TELUS LTE network
|
348
|
+
capture_ios_screenshots(
|
349
|
+
override_status_bar: true,
|
350
|
+
override_status_bar_arguments: "--time 9:41 --dataNetwork lte --cellularMode active --cellularBars 4 --batteryState charging --batteryLevel 75 --operatorName TELUS"
|
351
|
+
)
|
352
|
+
```
|
353
|
+
|
354
|
+
## Gray artifacts around text
|
355
|
+
|
356
|
+
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
|
357
|
+
|
358
|
+
```sh
|
359
|
+
brew uninstall imagemagick
|
360
|
+
brew install imagemagick
|
361
|
+
```
|
362
|
+
|
363
|
+
## Uninstall
|
364
|
+
|
365
|
+
- `gem uninstall fastlane`
|
366
|
+
- `rm -rf ~/.frameit`
|